boolean (Object value) { final List<T> group = myMap.remove(value); if (group == null) return false; group.remove(value); if (!group.isEmpty()) { myMap.put(group.get(0), group); } myDelegate = null; return true; }