def to_vertices(*args)
      selected = args.collect do |arg|
        case arg
          when Integer
            [@vertices[arg]]
          when VertexSet
            arg
          when Array
            arg.collect{|v| to_vertices(v)}.flatten.uniq
          when Digraph::Vertex
            [arg]
          else
            pred = Predicate.to_predicate(arg)
            vertices(pred)
        end
      end.flatten.uniq
      VertexSet.new(selected)
    end
def to_vertices(*args)
      selected = args.collect do |arg|
        case arg
          when Integer
            [@vertices[arg]]
          when VertexSet
            arg
          when Array
            arg.collect{|v| to_vertices(v)}.flatten.uniq
          when Digraph::Vertex
            [arg]
          else
            pred = Predicate.to_predicate(arg)
            vertices(pred)
        end
      end.flatten.uniq
      VertexSet.new(selected)
    end
Applies argument conventions about selection of vertices