anchor.diff:  appender.writeDocument(wire -> wire.write(() -> "FirstName").text("Steve")
                                      .write(() -> "Surname").text("Jobs"));
   ----
  +Say you want to write different types of messages to a chronicle-queue, and process messages in consumers depending on their types. Chronicle-Queue provides low level building blocks you can use to write any kind of message, so it is up to you to choose the right data structure.
  +
  +For example, you can prefix the data you write to a chronicle. With a small header and some meta-data, you can then use it as a discriminator for data processing.
  +
  +You can also write/read a generic object. This will be slightly slower than using your own scheme, but is it a simple way to always read the type you wrote.
   
   === How does reading work?
   
  
positive.code: = Frequently Asked Questions about Chronicle
  
  === SingleChronicleQueue
  
  Single Chronicle Queue is designed to be easier to work with compared with
  the previous Vanilla and Indexed Chronicles.
  
  It supports;
  
  - concurrent readers in different JVMs.
  - concurrent writers in different JVMs.
  
negative.code: - the header stores key information so there is no longer the requirement that the writers and reads be configured the same.
  - you don't need to know how big the message is.
  
  === What is the performance like?
  
  While Vanilla and Index Chronicle support sub-microsecond latencies. If you use Wire the typical latencies tend to be around one micro-second.  You can still use raw writing of bytes if you need maximum performance.
  
  