public PersistentDictionaryState(IComparerAndEquality <RavenJToken> comparer)
 {
     Comparer = comparer;
     SecondaryIndicesState    = new List <IBinarySearchTree <IComparable, IBinarySearchTree <RavenJToken, RavenJToken> > >();
     KeyToFilePositionInFiles = new EmptyAVLTree <RavenJToken, PositionInFile>(Comparer, RavenJTokenCloner.Clone, file => new PositionInFile
     {
         Key      = file.Key.CloneToken(),
         Position = file.Position,
         Size     = file.Size
     });
 }
 public PersistentDictionaryState(ICompererAndEquality<JToken> comparer)
 {
     Comparer = comparer;
     SecondaryIndicesState = new List<IBinarySearchTree<IComparable, IBinarySearchTree<JToken, JToken>>>();
     KeyToFilePositionInFiles = new EmptyAVLTree<JToken, PositionInFile>(Comparer, JTokenCloner.Clone, file => new PositionInFile
     {
         Key = JTokenCloner.Clone(file.Key),
         Position = file.Position,
         Size = file.Size
     });
 }
		public PersistentDictionaryState(IComparerAndEquality<RavenJToken> comparer)
		{
			Comparer = comparer;
			SecondaryIndicesState = new List<IBinarySearchTree<IComparable, IBinarySearchTree<RavenJToken, RavenJToken>>>();
			KeyToFilePositionInFiles = new EmptyAVLTree<RavenJToken, PositionInFile>(Comparer, token => token.CloneToken(), file => new PositionInFile
			{
				Key = file.Key.CloneToken(),
				Position = file.Position,
				Size = file.Size
			});
		}