public Ref remove(Object key) {String name = toRefName((String) key);Ref res = null;int idx;if (0 <= (idx = packed.find(name))) {res = packed.get(name);packed = packed.remove(idx);sizeIsValid = false;}if (0 <= (idx = loose.find(name))) {res = loose.get(name);loose = loose.remove(idx);sizeIsValid = false;}if (0 <= (idx = resolved.find(name))) {res = resolved.get(name);resolved = resolved.remove(idx);sizeIsValid = false;}return res;}

public override Ref Remove(object key){string name = ToRefName((string)key);Ref res = null;int idx;if (0 <= (idx = packed.Find(name))){res = packed.Get(name);packed = packed.Remove(idx);sizeIsValid = false;}if (0 <= (idx = loose.Find(name))){res = loose.Get(name);loose = loose.Remove(idx);sizeIsValid = false;}if (0 <= (idx = resolved.Find(name))){res = resolved.Get(name);resolved = resolved.Remove(idx);sizeIsValid = false;}return res;}
