public byte[] convertAndAnnotate(
      String prefix, PrintWriter debugPrint, AnnotatedOutput out, boolean consume) {
    this.prefix = prefix;
    this.debugPrint = debugPrint;
    annotateTo = out;
    shouldConsume = consume;

    byte[] result = convert();

    return result;
  }
Converts and produces annotations on a stream. Does not write actual bits to the {@code
AnnotatedOutput}.

@param prefix {@code null-ok;} prefix to attach to each line of output
@param debugPrint {@code null-ok;} if specified, an alternate output for annotations
@param out {@code null-ok;} if specified, where annotations should go
@param consume whether to claim to have consumed output for {@code out}
@return {@code non-null;} encoded output
android/android_framework/dex-maker/src/main/java/com/android/dx/dex/file/DebugInfoEncoder.java