void (final AbstractTestProxy test) { if (myCurrentTest == test) { return; } if (myCurrentTest != null) { myCurrentTest.setPrinter(null); } myMarkOffset = 0; final Runnable clearRunnable = () -> myConsole.clear(); if (test == null) { myCurrentTest = null; CompositePrintable.invokeInAlarm(clearRunnable); return; } myCurrentTest = test; myCurrentTest.setPrinter(this); final Runnable scrollRunnable = () -> scrollToBeginning(); final AbstractTestProxy currentProxyOrRoot = getCurrentProxyOrRoot(); CompositePrintable.invokeInAlarm(clearRunnable); currentProxyOrRoot.printOn(this); currentProxyOrRoot.printFromFrameworkOutputFile(this); CompositePrintable.invokeInAlarm(scrollRunnable); }