class SessionFacade implements Session {

    @Override
    public final Session impersonate(Credentials credentials) throws RepositoryException {
        Session impersonateDelegate = delegate.impersonate(credentials);
        return SessionFacade.findBestWrapper(impersonateDelegate, true);
    }

    public  SessionFacade(final @NotNull S delegate, final boolean notProtected);

}