private ObjectListForMultiples(SerializingObjectStorage storage, DataBuffer keySpace,
                                StorageKey key, Func <T> creator,
                                Action <ObjectListForMultiples <T, THeader>, ResourcePoolItem <MemoryStream> > cont)
 {
     Storage   = storage;
     _keySpace = Storage.SupportsKeySpaces ? keySpace : DataBuffer.Empty;
     _supportsKeySpacePartitions = Storage.GetKeySpacePartitionSupport(
         _keySpace);
     Key     = _supportsKeySpacePartitions ? key : new StorageKey(key.Key, 0);
     Creator = creator;
     using (var itemValue = storage.StreamPool.GetItem())
     {
         cont(this, itemValue);
     }
 }