code: public PerformanceMetrics createNext(String nextAction, String nextDescriptor, Class nextActionClass) {
      PerformanceMetrics next = new PerformanceMetrics(key, level + 1, nextAction, nextActionClass, nextDescriptor, correlationId);
      next.previous = this;
      return next;
    }
docs: Creates new instance of performance metrics. Stores the key and correlation id of the parent metrics instance.
  Assigns next level.
  @param nextAction a short name of measured operation, typically a first prefix of descriptor
  @param nextActionClass a class which implements the action
  @param nextDescriptor a full description of measured operation
  @return PerformanceMetrics a new instance of performance metrics with stored key and correlationId from the parent
  metrics and assigned next level