anchor.diff:  By writing elements to particular partitions and then restricting read partitions, the developer is able to create multiple graphs within a single address space. Moreover, by supporting references between partitions, it is possible to merge those multiple graphs (i.e. join partitions).
   
   ReadOnlyStrategy
  -================
  +~~~~~~~~~~~~~~~~
   
   `ReadOnlyStrategy` is largely self-explanatory.  A `Traversal` that has this strategy applied will throw an `IllegalStateException` if the `Traversal` has any mutating steps within it.
   
   SubgraphStrategy
  -================
  +~~~~~~~~~~~~~~~~
   
   `SubgraphStrategy` is quite similar to `PartitionStrategy` in that it restrains a `Traversal` to certain vertices and edges as determined by a `Predicate` defined individually for each.
   
  
positive.code: IMPORTANT: The key that is used to store the assigned identifier should be indexed in the underlying graph database. If it is not indexed, then lookups for the elements that use these identifiers will perform a linear scan.
  
  EventStrategy
  =============
  
  The purpose of the `EventStrategy` is to raise events to one or more `MutationListener` objects as changes to the underlying `Graph` occur within a `Traversal`. Such a strategy is useful for logging changes, triggering certain actions based on change, or any application that needs notification of some mutating operation during a `Traversal`.  Graphs that do not support transactions will generate events immediately upon mutation, while those graphs that support transactions will queue the mutations until that transaction is committed and will then raise the events.  If the transaction is rolled back, the event queue is reset.
  
  
negative.code: strategyA = PartitionStrategy.build().partitionKey("_partition").writePartition("a").addReadPartition("a").create()
  strategyB = PartitionStrategy.build().partitionKey("_partition").writePartition("b").addReadPartition("b").create()
  gA = GraphTraversalSource.build().with(strategyA).create(graph)
  gA.addV() // this vertex has a property of {_partition:"a"}
  gB = GraphTraversalSource.build().with(strategyB).create(graph)
  gB.addV() // this vertex has a property of {_partition:"b"}
  gA.V()
  gB.V()
  ----
  