### Question:
BaseFacade implements DBFacade { @Nullable @Override public <I> I getSpecificService(@NotNull final Class<I> serviceClass, @NotNull final String serviceName) throws ClassCastException { return myInterFacade.getSpecificService(serviceClass, serviceName); } BaseFacade(@NotNull final IntegralIntermediateFacade interFacade); @NotNull @Override Rdbms rdbms(); @Override synchronized void connect(); @Override synchronized void reconnect(); @Override synchronized void disconnect(); @Override boolean isConnected(); @Override ConnectionInfo getConnectionInfo(); @Override R inTransaction(final InTransaction<R> operation); @Override void inTransaction(final InTransactionNoResult operation); @Override R inSession(final InSession<R> operation); @Override void inSession(final InSessionNoResult operation); @Override synchronized DBLeasedSession leaseSession(); @Nullable @Override I getSpecificService(@NotNull final Class<I> serviceClass,
                                  @NotNull final String serviceName);  }### Answer:
@Test public void get_intermediate_service() { IntegralIntermediateFacade intermediateSession = myFacade.getSpecificService( IntegralIntermediateFacade.class, ImplementationAccessibleService.Names.INTERMEDIATE_SERVICE); assertThat(intermediateSession).isInstanceOf(JdbcIntermediateFacade.class); }