import com.google.common.base.Function;
import com.google.common.base.Optional;
+import com.google.common.base.Preconditions;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
case DELETE:
return modification.storeSnapshot(Optional.<StoreMetadataNode>absent());
case SUBTREE_MODIFIED:
+ Preconditions.checkArgument(currentMeta.isPresent(),"Metadata not available for modification",modification);
return modification.storeSnapshot(Optional.of(applySubtreeChange(modification, currentMeta.get(), subtreeVersion)));
case WRITE:
return modification.storeSnapshot(Optional.of(applyWrite(modification, currentMeta, subtreeVersion)));