@ Nonnull public EChange undeleteUserGroup ( @ Nullable final String sUserGroupID ) { final UserGroup aUserGroup = getOfID ( sUserGroupID ) ; if ( aUserGroup == null ) { AuditHelper . onAuditUndeleteFailure ( UserGroup . OT , sUserGroupID , "no-such-id" ) ; return EChange . UNCHANGED ; } m_aRWLock . writeLock ( ) . lock ( ) ; try { if ( BusinessObjectHelper . setUndeletionNow ( aUserGroup ) . isUnchanged ( ) ) return EChange . UNCHANGED ; internalMarkItemUndeleted ( aUserGroup ) ; } finally { m_aRWLock . writeLock ( ) . unlock ( ) ; } AuditHelper . onAuditUndeleteSuccess ( UserGroup . OT , sUserGroupID ) ; // Execute callback as the very last action m_aCallbacks . forEach ( aCB -> aCB . onUserGroupUndeleted ( aUserGroup ) ) ; return EChange . CHANGED ; }
Undelete the user group with the specified ID .