code: public ManagedUser createManagedUser(final String username, final String fullname, final String email,
                                           final String passwordHash, final boolean forcePasswordChange,
                                           final boolean nonExpiryPassword, final boolean suspended) {
          pm.currentTransaction().begin();
          final ManagedUser user = new ManagedUser();
          user.setUsername(username);
          user.setFullname(fullname);
          user.setEmail(email);
          user.setPassword(passwordHash);
          user.setForcePasswordChange(forcePasswordChange);
          user.setNonExpiryPassword(nonExpiryPassword);
          user.setSuspended(suspended);
          user.setLastPasswordChange(new Date());
          pm.makePersistent(user);
          pm.currentTransaction().commit();
          return getObjectById(ManagedUser.class, user.getId());
      }
docs: Creates a new ManagedUser object.
  @param username The username for the user
  @param fullname The fullname of the user
  @param email The users email address
  @param passwordHash The hashed password
  @param forcePasswordChange Whether or not user needs to change password on next login or not
  @param nonExpiryPassword Whether or not the users password ever expires or not
  @param suspended Whether or not user being created is suspended or not
  @return a ManagedUser
  @see alpine.auth.PasswordService
  @since 1.1.0