/**
  * Used for bind and update.
  *
  * @param person
  * @return
  * @see org.projectforge.ldap.LdapDao#getModificationItems(org.projectforge.ldap.LdapObject)
  */
 @Override
 protected List<ModificationItem> getModificationItems(
     final List<ModificationItem> list, final LdapGroup group) {
   createAndAddModificationItems(list, "businessCategory", group.getBusinessCategory());
   createAndAddModificationItems(list, "o", group.getOrganization());
   createAndAddModificationItems(list, "description", group.getDescription());
   if (CollectionUtils.isNotEmpty(group.getMembers()) == true) {
     createAndAddModificationItems(list, "uniqueMember", group.getMembers());
   } else {
     createAndAddModificationItems(list, "uniqueMember", NONE_UNIQUE_MEMBER_ID);
   }
   final boolean modifyPosixAccount =
       isPosixAccountsConfigured() == true
           && GroupDOConverter.isPosixAccountValuesEmpty(group) == false;
   if (modifyPosixAccount == true) {
     if (group.getObjectClasses() != null) {
       final List<String> missedObjectClasses =
           LdapUtils.getMissedObjectClasses(
               getAdditionalObjectClasses(group), getObjectClass(), group.getObjectClasses());
       if (CollectionUtils.isNotEmpty(missedObjectClasses) == true) {
         for (final String missedObjectClass : missedObjectClasses) {
           list.add(
               createModificationItem(DirContext.ADD_ATTRIBUTE, "objectClass", missedObjectClass));
         }
       }
     }
   }
   if (modifyPosixAccount == true) {
     createAndAddModificationItems(list, "gidNumber", String.valueOf(group.getGidNumber()));
   }
   return list;
 }
 /**
  * @see org.projectforge.ldap.LdapDao#getAdditionalObjectClasses(org.projectforge.ldap.LdapObject)
  */
 @Override
 protected String[] getAdditionalObjectClasses(final LdapGroup obj) {
   final boolean posixAccount =
       isPosixAccountsConfigured() == true
           && GroupDOConverter.isPosixAccountValuesEmpty(obj) == false;
   if (posixAccount == true) {
     return ADDITIONAL_OBJECT_CLASSES_WITH_POSIX_SUPPORT;
   }
   return ADDITIONAL_OBJECT_CLASSES;
 }