public Span(Span span,List<BinaryAnnotation> binaryAnnotations,List<Annotation> annotations){
  this(binaryAnnotations,annotations);
  this.id=span.getId();
  this.traceId=span.getTraceId();
  this.parentId=span.getParentId();
  this.timestamp=span.getTimestamp();
  this.duration=span.getDuration();
  this.debug=span.getDebug();
  this.name=span.getName();
}

public Span ( Span span , List < BinaryAnnotation > binaryAnnotations , List < Annotation > annotations ) { this ( binaryAnnotations , annotations ) ; this . id = span . getId ( ) ; this . traceId = span . getTraceId ( ) ; this . parentId = span . getParentId ( ) ; this . timestamp = span . getTimestamp ( ) ; this . duration = span . getDuration ( ) ; this . debug = span . getDebug ( ) ; this . name = span . getName ( ) ; }
copy construct , with ability to specify binary annotations and annotations .
