docs: @Override
      public void deleteGroup(ILockableEntityGroup group) throws GroupsException {
          throwExceptionIfNotInternallyManaged();
          try {
              if (group.getLock().isValid()) {
                  removeDeletedGroupFromParentGroups(group);
                  deleteGroup((IEntityGroup) group);
              } else {
                  throw new GroupsException(
                          "Could not delete group " + group.getKey() + " has invalid lock.");
              }
          } catch (LockingException le) {
              throw new GroupsException("Could not delete group " + group.getKey(), le);
          } finally {
              try {
                  group.getLock().release();
              } catch (LockingException le) {
              }
          }
      }