anchor.diff:  
   Kryo supports all of the `GraphReader` and `GraphWriter` interface methods and can therefore read or write an entire `Graph`, a single `Vertex` or a single `Edge`.  The following code shows how to write a `Graph` instance to file called `tinkerpop-classic.gio` and then how to read that file back into a different instance:
   
  +
  +[source,java]
  +----
  +final Graph g = TinkerFactory.createClassic();
  +g.io().writeKryo("tinkerpop-classic.gio");
  +
  +final Graph newGraph = TinkerGraph.open();
  +newGraph.io().readKryo("tinkerpop-classic.gio")'
  +----
  +
  +If a custom configuration is required, then have the `Graph` generate a `GraphReader` or `GraphWriter` "builder" instance:
  +
   [source,java]
   ----
   final Graph g = TinkerFactory.createClassic();
   try (final OutputStream os = new FileOutputStream("tinkerpop-classic.gio")) {
  -    KryoWriter.build().create().writeGraph(os, g);
  +    g.io().kryoWriter().normalize(true).create().writeGraph(os);
   }
   
  -final GraphReader reader = KryoReader.build().create();
  +final Graph newGraph = TinkerGraph.open();
   try (final InputStream stream = new FileInputStream("tinkerpop-classic.gio")) {
  -    reader.readGraph(stream, g);
  +    newGraph.io().kryoReader().vertexIdKey("name").create().readGraph(stream);
   }
   ----
   
  
positive.code: [source,java]
  ----
  final Graph g = TinkerFactory.createClassic();
  try (final OutputStream os = new FileOutputStream("tinkerpop-classic.xml")) {
      GraphMLWriter.build().create().writeGraph(os, g);
  }
  
  final GraphReader reader = GraphMLReader.build().create();
  try (final InputStream stream = new FileInputStream("tinkerpop-classic.xml")) {
      reader.readGraph(stream, g);
  }
  ----
  
  
negative.code: * Reading and writing a single `Vertex` (with and without associated `Edge` objects)
  * Reading and writing a single `Edge`
  
  In all cases, these methods operate in the currency of `InputStream` and `OutputStream` objects, allowing graphs and their related elements to be written to and read from files, byte arrays, etc.  The `Graph` interface offers the `io` method, which provides access to helper methods for the various I/O capabilities.  This method also potentially provides vendor specific implementations of some of these methods, which may be important for serialization of vendor graphs.  Unless there are very advanced requirements for the serialization process, it is always best to utilize the methods on the `Io` interface to construct `GraphReader` and `GraphWriter` instances, as the implementation may provide some custom settings that would otherwise have to be configured manually by the user to do the serialization.
  
  GraphML Reader/Writer
  ~~~~~~~~~~~~~~~~~~~~~
  