Calls ISnapshotStrategy<TAuthenticationToken>.ShouldMakeSnapShot on SnapshotStrategy If the IAggregateRoot<TAuthenticationToken> is snapshot-able SnapshotAggregateRoot<TAuthenticationToken,TSnapshot>.GetSnapshot is called The Snapshot.Version is calculated, finally ISnapshotStore.Save is called on SnapshotStore. 
- Parameters
 - 
  
    | aggregate | The IAggregateRoot<TAuthenticationToken> to try and snapshot. | 
    | uncommittedChanges | A collection of uncommited changes to assess. If null the aggregate will be asked to provide them. |