### Question:
RootTransactionRunnable extends StartableTransactionRunnable<T> { @Override public <U extends T> TransactionRunnable<U> runIn(final TransactionRunnable<U> parentRunnable) { throw new IllegalArgumentException("A RootTransactionRunnable cannot safely be runIn() any other " + "TransactionRunnable."); }  @Override TransactionRunnable<U> runIn(final TransactionRunnable<U> parentRunnable);  }### Answer:
@Test(expected = IllegalArgumentException.class) public void runInTest() throws Exception { new RootTransactionRunnable().runIn(new TransactionRunnable()); }
@Test(expected = IllegalArgumentException.class) public void runInAsProviderTest() throws Exception { new RootTransactionRunnable().asProvider().runIn(new TransactionRunnable()); }