package transaction;

public class ShallowLock<T> extends Lock<T> {

	public ShallowLock(T data) {
		super(data);
	}
	
	@Override
	public T getReadable(Token token) throws LockException {
		if (!canRead(token)) {
			throw new LockException("You do not have a read lock on the item");
		}
		
		return cloner.shallowClone(lockedData);
	}
}

@@ -290,35 +290,76 @@
 %09%0A%09%09
-return cloner.shallowClone(
+// TODO only copy map structure, keep references to vaults%0A%09%09return 
 lock
@@ -364,16 +364,15 @@
 ckedData
-)
 ;%0A%09%7D%0A%7D%0A

Add temporary fix to shallow copy bug