### Question:
DefaultManagedContext implements ManagedContext { @Override public void runWithContext(final Runnable run) { try { callWithContext(new Callable<Object>() { @Override public Object call() throws Exception { run.run(); return null; } }); } catch (Exception e) { ManagedContextUtils.rethrowException(e); } }  @Override void registerListener(ManagedContextListener<?> listener); @Override void unregisterListener(ManagedContextListener<?> listener); @Override void runWithContext(final Runnable run); @SuppressWarnings("unchecked") @Override T callWithContext(Callable<T> callable); List<ManagedContextListener<?>> getListeners(); void setListeners(List<ManagedContextListener<?>> listeners);  }### Answer:
@Test public void testRunnable() throws Exception { final List<Object> touch = new ArrayList<Object>(); context.runWithContext(new Runnable() { @Override public void run() { touch.add(new Object()); } }); assertEquals(1, touch.size()); }