in src/main/java/org/apache/sling/jcr/base/internal/mount/ProxyRepository.java [82:97]
public Session login(Credentials credentials, String workspaceName) throws LoginException, NoSuchWorkspaceException, RepositoryException {
Session jcrSession = jcr.login(credentials, workspaceName);
Session mountSession;
if (mount instanceof JackrabbitRepository) {
Map<String, Object> attributes = new HashMap<>();
attributes.put(RepositoryMount.PARENT_SESSION_KEY, jcrSession);
mountSession = ((JackrabbitRepository) mount).login(credentials, workspaceName, attributes);
}
else {
mountSession = mount.login(credentials, workspaceName);
}
return jcrSession instanceof JackrabbitSession ?
new ProxyJackrabbitSession(this, (JackrabbitSession) jcrSession, mountSession, this.mountPoints) :
new ProxySession<>(this, jcrSession, mountSession, this.mountPoints);
}