### Question:
AdaptIntermediateRdbmsProvider implements IntegralIntermediateRdbmsProvider { @NotNull @Override public DBExceptionRecognizer getExceptionRecognizer() { Class<? extends DBExceptionRecognizer> erClass = myRemoteProvider.getExceptionRecognizerClass(); try { Field instanceField = erClass.getDeclaredField("INSTANCE"); if (instanceField != null && Modifier.isStatic(instanceField.getModifiers())) { return (DBExceptionRecognizer) instanceField.get(null); } return erClass.newInstance(); } catch (Exception e) { e.printStackTrace(); } throw new IllegalStateException("Unknown how to get an instance of class "+erClass.getName()); } AdaptIntermediateRdbmsProvider(@NotNull final PrimeIntermediateRdbmsProvider remoteProvider); @NotNull @Override Rdbms rdbms(); @NotNull @Override Pattern connectionStringPattern(); @Override byte specificity(); @NotNull @Override IntegralIntermediateFacade openFacade(@NotNull final String connectionString,
                                               @Nullable final Properties connectionProperties,
                                               final int connectionsLimit); @NotNull @Override Class<? extends DBExceptionRecognizer> getExceptionRecognizerClass(); @NotNull @Override DBExceptionRecognizer getExceptionRecognizer(); @Nullable @Override I getSpecificService(@NotNull final Class<I> serviceClass,
                                  @NotNull final String serviceName);  }### Answer:
@Test public void getExceptionRecognizer_same() { AdaptIntermediateRdbmsProvider adaptProvider = new AdaptIntermediateRdbmsProvider(ourUnknownDatabaseProvider); assertThat(adaptProvider.getExceptionRecognizer()).isSameAs(ourUnknownDatabaseProvider.getExceptionRecognizer()); }