code: @Override
      public Subject delegate(String roleName, String appName) {
          Subject runAsSubject = getRunAsSubjectFromProvider(roleName, appName);
          return runAsSubject;
      }
docs: Gets the delegation subject based on the currently configured delegation provider
  or the MethodDelegationProvider if one is not configured.
  
  @param roleName the name of the role, used to look up the corresponding user.
  @param appName the name of the application, used to look up the corresponding user.
  @return subject a subject representing the user that is mapped to the given run-as role.
  @throws IllegalArgumentException