private void decoratorPhase(PhasesSumUpTimeProfiler profiler) throws InterruptedException { Decorator decorator1 = new FakeDecorator1(); Decorator decorator2 = new FakeDecorator2(); // Start of decorator phase profiler.onDecoratorsPhase(decoratorsEvent(true)); // Start of decorator 1 profiler.onDecoratorExecution(decoratorEvent(decorator1, true)); clock.sleep(10); // End of decorator 1 profiler.onDecoratorExecution(decoratorEvent(decorator1, false)); // Start of decorator 2 profiler.onDecoratorExecution(decoratorEvent(decorator2, true)); clock.sleep(5); // End of decorator 2 profiler.onDecoratorExecution(decoratorEvent(decorator2, false)); // Start of decorator 1 profiler.onDecoratorExecution(decoratorEvent(decorator1, true)); clock.sleep(10); // End of decorator 1 profiler.onDecoratorExecution(decoratorEvent(decorator1, false)); // Start of decorator 2 profiler.onDecoratorExecution(decoratorEvent(decorator2, true)); clock.sleep(5); // End of decorator 2 profiler.onDecoratorExecution(decoratorEvent(decorator2, false)); // End of decorator phase profiler.onDecoratorsPhase(decoratorsEvent(false)); }