code: public void endProcessingNode() {
          if (nodeCount.decrementAndGet() == 0 && recorder != null) {
              Node node = rootNode.build();
  
              trace.setTimestamp(node.getTimestamp());
              trace.setTransaction(getTransaction());
              trace.getNodes().add(node);
  
              if (checkForSamplingProperties(node)) {
                  reportingLevel = ReportingLevel.All;
              }
  
              boolean sampled = sampler.isSampled(trace, reportingLevel);
              if (sampled && reportingLevel == null) {
                  reportingLevel = ReportingLevel.All;
              }
  
              if (sampled) {
                  recorder.record(trace);
              }
          }
      }
docs: This method indicates the end of processing a node within the trace
  instance. Once all nodes for a trace have completed being processed,
  the trace will be reported.