### Question:
CommunityRuntime implements TransactionEventHandler<Map<String, Object>>, GraphAwareRuntime, KernelEventHandler { @Override public final synchronized void start() { if (State.STARTED.equals(state)) { LOG.debug("GraphAware already started"); return; } if (State.STARTING.equals(state)) { throw new IllegalStateException("Attempt to start GraphAware from multiple different threads. This is a bug"); } if (!State.REGISTERED.equals(state)) { throw new IllegalStateException("Illegal Runtime state " + state + "! This is a bug"); } STARTING.set(true); LOG.info("Starting GraphAware..."); state = State.STARTING; beforeStart(); startStatsCollector(); handleModuleMetadata(); startModules(); startWriter(); state = State.STARTED; LOG.info("GraphAware started."); STARTING.set(false); } protected  CommunityRuntime(RuntimeConfiguration configuration, GraphDatabaseService database, TxDrivenModuleManager<TxDrivenModule> txDrivenModuleManager, TimerDrivenModuleManager timerDrivenModuleManager, Neo4jWriter writer); @Override synchronized void registerModule(RuntimeModule module); @Override final synchronized void start(); @Override final void waitUntilStarted(); @Override Map<String, Object> beforeCommit(TransactionData data); @Override final void afterCommit(TransactionData data, Map<String, Object> states); @Override final void afterRollback(TransactionData data, Map<String, Object> states); @Override void beforeShutdown(); @Override M getModule(String moduleId, Class<M> clazz); @Override M getModule(Class<M> clazz); @Override final void kernelPanic(ErrorState error); @Override final Object getResource(); @Override final ExecutionOrder orderComparedTo(KernelEventHandler other); @Override RuntimeConfiguration getConfiguration(); @Override Neo4jWriter getDatabaseWriter();  }### Answer:
@Test public void registeredRuntimeShouldBeRetrieved2() { GraphAwareRuntime runtime = createRuntime(database); runtime.start(); assertEquals(runtime, RuntimeRegistry.getStartedRuntime(database)); }
@Test public void multipleCallsToStartFrameworkHaveNoEffect() { GraphAwareRuntime runtime = createRuntime(database, defaultConfiguration(database).withTimingStrategy(TIMING_STRATEGY)); runtime.start(); runtime.start(); runtime.start(); runtime.start(); }