public boolean remove(Object o) {
if(!set.contains(o)) return false;
if(o instanceof Map.Entry) {
Map.Entry entry = (Entry) o;
CacheObject obj = (CacheObject) entry.getValue();
obj.invalidate();
return true;
}
CacheObject obj = (CacheObject) group.get(o);
if(obj==null) return false;
obj.invalidate();