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));
 }