code: private void completeNode() {
          if (nodeBuilder == null) {
              return;
          }
          nodeBuilder.setOperation(getOperationName());
          nodeBuilder.setTimestamp(TimeUtil.toMicros(getStart()));
          nodeBuilder.setDuration(TimeUnit.NANOSECONDS.toMicros(getDuration().toNanos()));
  
          // Process the span to initialise the node
          traceContext.getNodeProcessors().forEach(np -> np.process(traceContext, this, nodeBuilder));
  
          traceContext.endProcessingNode();
          nodeBuilder = null;
      }
docs: This method will complete the information associated with the node builder
  in preparation for the trace fragment being built (once all nodes have
  been completed).