in src/main/java/org/apache/sling/jcr/base/AbstractSlingRepository2.java [412:426]
public Session impersonateFromService(final String subServiceName, final Credentials credentials, final String workspaceName)
throws LoginException, RepositoryException {
Session serviceSession = null;
try {
serviceSession = createServiceSession(usingBundle, subServiceName, workspaceName);
if (serviceSession == null) {
throw new LoginException("Cannot create service session for bundle " + usingBundle + " and sub service " + subServiceName);
}
return serviceSession.impersonate(credentials);
} finally {
if (serviceSession != null) {
serviceSession.logout();
}
}
}