code: public UserGroupCallback build() {
          UserGroupCallback callback = null;
          Properties properties = _propertiesBuilder.build();
          if (_userGroupCallbackClass != null) {
              callback = construct(properties);
          }
          if (callback == null && USER_CALLBACK_IMPL != null) {
              try {
                  if ("props".equalsIgnoreCase(USER_CALLBACK_IMPL)) {
                      callback = new JBossUserGroupCallbackImpl(properties);
                  } else {
                      callback = UserDataServiceProvider.getUserGroupCallback();
                  }
              } catch (Throwable t) {
                  // we might get here if on Karaf vs. JBoss
                  // keep checkstyle happy ("at least one statement")
                  t.getMessage();
              }
          }
          if (callback == null) {
              callback = new PropertiesUserGroupCallback(properties);
          }
          return callback;
      }
docs: Builds a UserGroupCallback.
  
  @return a UserGroupCallback