JackrabbitSessionFacade extends SessionFacade<JackrabbitSession> implements JackrabbitSession { @Override public UserManager getUserManager() throws RepositoryException { UserManager internal = delegate.getUserManager(); return new UserManagerFacade(internal); } @SuppressWarnings("WeakerAccess")  JackrabbitSessionFacade(final @NotNull JackrabbitSession delegate, final boolean notProtected); @Override boolean hasPermission(final @NotNull String absPath, final @NotNull String... actions); @Override PrincipalManager getPrincipalManager(); @Override UserManager getUserManager(); @Override Item getItemOrNull(final String absPath); @Override Property getPropertyOrNull(final String absPath); @Override Node getNodeOrNull(final String absPath);  }
@Test public void testGetUserManager() throws Exception { new FacadeGetterMapping.Tester<>(JackrabbitSession.class, session -> new JackrabbitSessionFacade(session, true)) .testFacadeGetter(UserManager.class, UserManagerFacade.class, JackrabbitSession::getUserManager); }