class Vertices {

    @JsonProperty("ids")
    public Set<Object> ids;
    @JsonProperty("label")
    public String label;
    @JsonProperty("properties")
    public Map<String, Object> properties;

    public Iterator<Vertex> vertices(HugeGraph g) {<FILL_FUNCTION_BODY>}

    @Override
    public String toString() {
        return String.format("SourceVertex{ids=%s,label=%s,properties=%s}",
                             this.ids, this.label, this.properties);
    }
}

        Map<String, Object> props = this.properties;
        E.checkArgument(!((this.ids == null || this.ids.isEmpty()) &&
                          (props == null || props.isEmpty()) &&
                          this.label == null), "No source vertices provided");
        Iterator<Vertex> iterator;
        if (this.ids != null && !this.ids.isEmpty()) {
            E.checkArgument(this.label == null,
                            "Just provide one of ids or label of source vertices");
            E.checkArgument(props == null || props.isEmpty(),
                            "Just provide one of ids or properties of source vertices");
            List<Id> sourceIds = new ArrayList<>(this.ids.size());
            for (Object id : this.ids) {
                sourceIds.add(HugeVertex.getIdValue(id));
            }
            iterator = g.vertices(sourceIds.toArray());
            E.checkArgument(iterator.hasNext(),
                            "Not exist source vertices with ids %s",
                            this.ids);
        } else {
            ConditionQuery query = new ConditionQuery(HugeType.VERTEX);
            if (this.label != null) {
                Id label = SchemaLabel.getVertexLabelId(g, this.label);
                query.eq(HugeKeys.LABEL, label);
            }
            if (props != null && !props.isEmpty()) {
                Map<Id, Object> pks = TraversalUtil.transProperties(g, props);
                TraversalUtil.fillConditionQuery(query, pks, g);
            }
            assert !query.empty();
            iterator = g.vertices(query);
            E.checkArgument(iterator.hasNext(), "Not exist source vertex " +
                                                "with label '%s' and properties '%s'",
                            this.label, props);
        }
        return iterator;
    
<no_super_class>