### Question:
Neo4jTransactionManager extends AbstractPlatformTransactionManager { public static @Nullable Transaction retrieveTransaction(final Driver driver, @Nullable final String targetDatabase) { if (!TransactionSynchronizationManager.isSynchronizationActive()) { return null; } Neo4jTransactionHolder connectionHolder = (Neo4jTransactionHolder) TransactionSynchronizationManager .getResource(driver); if (connectionHolder != null) { Transaction optionalOngoingTransaction = connectionHolder.getTransaction(targetDatabase); if (optionalOngoingTransaction != null) { return optionalOngoingTransaction; } throw new IllegalStateException( formatOngoingTxInAnotherDbErrorMessage(connectionHolder.getDatabaseName(), targetDatabase)); } Session session = driver.session(defaultSessionConfig(targetDatabase)); Transaction transaction = session.beginTransaction(TransactionConfig.empty()); connectionHolder = new Neo4jTransactionHolder(new Neo4jTransactionContext(targetDatabase), session, transaction); connectionHolder.setSynchronizedWithTransaction(true); TransactionSynchronizationManager.registerSynchronization( new Neo4jSessionSynchronization(connectionHolder, driver)); TransactionSynchronizationManager.bindResource(driver, connectionHolder); return connectionHolder.getTransaction(targetDatabase); } Neo4jTransactionManager(Driver driver);  Neo4jTransactionManager(Driver driver, DatabaseSelectionProvider databaseSelectionProvider); static @Nullable Transaction retrieveTransaction(final Driver driver,
		@Nullable final String targetDatabase);  }### Answer:
@Test void shouldWorkWithoutSynchronizations() { Transaction optionalTransaction = retrieveTransaction(driver, databaseName); assertThat(optionalTransaction).isNull(); verifyNoInteractions(driver, session, transaction); }