boolean (@NotNull Collection<?> c) { if (c.isEmpty()) return false; while (true) { Object[] elements = get(); Object[] newElements = createArrayRemoveAll(elements, c); if (newElements == null) return false; if (replaceArray(elements, newElements)) return true; } }