abstract Builder spanAndEndpoint(LocalSpanAndEndpoint spanAndEndpoint);
abstract Builder randomGenerator(Random randomGenerator);
abstract Builder reporter(Reporter<zipkin.Span> reporter);
abstract Builder allowNestedLocalSpans(boolean allowNestedLocalSpans);
abstract Builder traceSampler(Sampler sampler);
<BUG>abstract Builder clock(AnnotationSubmitter.Clock clock);
abstract LocalTracer build();</BUG>
}
public SpanId startNewSpan(String component, String operation) {
SpanId spanId = startNewSpan(component, operation, clock().currentTimeMicroseconds());

abstract Builder spanAndEndpoint(LocalSpanAndEndpoint spanAndEndpoint);
abstract Builder randomGenerator(Random randomGenerator);
abstract Builder reporter(Reporter<zipkin.Span> reporter);
abstract Builder allowNestedLocalSpans(boolean allowNestedLocalSpans);
abstract Builder traceSampler(Sampler sampler);
abstract Builder clock(AnnotationSubmitter.Clock clock);
abstract Builder traceId128Bit(boolean traceId128Bit);
abstract LocalTracer build();
}
public SpanId startNewSpan(String component, String operation) {
SpanId spanId = startNewSpan(component, operation, clock().currentTimeMicroseconds());
