anchor.diff:  
   strategy = new SubgraphStrategy(vertexCriterion, edgeCriterion)
   sg = new StrategyWrappedGraph(g)
  -sg.getStrategy().setGraphStrategy(strategy)
  +sg.setGraphStrategy(strategy)
   
   // all vertices are here
   sg.V().count().next() + " of " + g.V().count().next() + " vertices"
  
positive.code: [source,groovy]
  gremlin> g = Neo4jGraph.open('/tmp/neo4j')
  ==>neo4jgraph[EmbeddedGraphDatabase [/tmp/neo4j]]
  gremlin> swg = new StrategyGraph(g)
  ==>identitygraphstrategy[neo4jgraph[EmbeddedGraphDatabase [/tmp/neo4j]]]
  gremlin> swg.getStrategy().setGraphStrategy(IdStrategy.build("idKey").create())
  ==>null
  gremlin> swg.addVertex(id,"42a").id()
  ==>42a
  gremlin> swg.addVertex().id()
  ==>ef74e843-4c6e-40d2-929f-2552e2f96bf2
  
  When a non-null identifier is passed to `IdGraph.addVertex` or `IdGraph.addEdge`, that value will be used to uniquely identify the element. When the `id` is not provided, `IdGraph` will generate an identifier on its own.
  
negative.code: 
  GraphStrategy strategy = new SubgraphStrategy(vertexCriterion, edgeCriterion);
  StrategyGraph sg = new StrategyGraph(g);
  sg.setGraphStrategy(strategy);
  
  // all vertices are here
  System.out.println("" + sg.V().count().next() + " of " + g.V().count().next() + " vertices");
  