public boolean containsAll(final Collection<?> c) {
    final ODatabasePojoAbstract<TYPE> database = getDatabase();
    for (Object o : c)
      if (!underlying.contains(database.getRecordByUserObject(o, false))) return false;

    return true;
  }
 public boolean removeAll(final Collection<?> c) {
   setDirty();
   boolean modified = false;
   final ODatabasePojoAbstract<TYPE> database = getDatabase();
   for (Object o : c)
     if (!underlying.remove(database.getRecordByUserObject(o, false))) modified = true;
   return modified;
 }
 public boolean addAll(final Collection<? extends TYPE> c) {
   boolean modified = false;
   setDirty();
   final ODatabasePojoAbstract<TYPE> database = getDatabase();
   for (Object o : c)
     if (!underlying.add(database.getRecordByUserObject(o, false))) modified = true;
   return modified;
 }