anchor.diff:  
   The `XmlSnapshotService` provides the capability to generate XML snapshots (and if required corresponding XSD schemas) based on graphs of domain objects.
   
  -IMPORTANT: TODO - Typical use cases include  ....
  -
  -IMPORTANT: TODO - It is also possible to customize the size of the graph.
  -
  -
  -
  -
  -== API
  -
  +Typical use cases include creating mementos for business-focused auditing, such that a report could be generated as to which end-user performed a business action (perhaps for legal reasons).  For one system that we know of, a digest of this snapshot of data is signed with the public encryption key so as to enforce non-repudiation.
  +
  +Another use case is to grab raw data such that it could be merged into a report template or communication.
  +
  +The service offers a basic API to create a snapshot of a single object, and an more flexible API that allows the size of the graph to be customized.
  +
  +The core framework provides an implementation of this service (`o.a.i.core.runtime.services.xmlsnapshot.XmlSnapshotServiceDefault`).
  +
  +
  +
  +== Standard API
   
   The (basic) API of `XmlSnapshotService` is:
   
  
positive.code: As you might imagine, the resultant XML document can get quite large very quickly with only a few "include"s.
  
  
  
  === Automatically including other elements
  
  If the domain object being snapshotted implements the `SnapshottableWithInclusions` interace, then this moves the
  responsibility for determining what is included within the snapshot from the caller to the snapshottable object itself:
  
negative.code: ----
  
  
  The most straight-forward usage of this service is simply:
  
  [source,java]
  