@Override
    public Subject delegate(String roleName, String appName) {
        Subject runAsSubject = getRunAsSubjectFromProvider(roleName, appName);
        return runAsSubject;
    }
@ Override public Subject delegate ( String roleName , String appName ) { Subject runAsSubject = getRunAsSubjectFromProvider ( roleName , appName ) ; return runAsSubject ; }
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