protected String extractJavaCrashInfoFromCrashBody(
     BufferedReader bufferedreader,
     Writer writer,
     com.amazon.device.utils.DetUtil.HeaderProcessor headerprocessor)
     throws Exception {
   bufferedreader =
       CrashDescriptorUtil.calculateCrashDescriptor(
           bufferedreader, writer, headerprocessor, mMetricsHeaderProcessor.getProcessName());
   headerprocessor.process("CrashDescriptor", bufferedreader, writer);
   return bufferedreader;
 }
 protected void addSpecificHeaders(Artifact artifact, BufferedReader bufferedreader, Writer writer)
     throws Exception {
   mMetricsHeaderProcessor.setProcessTag(artifact.getTag());
   mJavaHeaderProcessor.process("ContentType", "JavaCrash", writer);
   mDetUtil.processHeaders(bufferedreader, writer, mJavaHeaderProcessor);
   if (JAVA_STACK_TRACE_TAGS.contains(artifact.getTag())) {
     bufferedreader =
         extractJavaCrashInfoFromCrashBody(bufferedreader, writer, mJavaHeaderProcessor);
     if (bufferedreader != null) {
       Integer integer = mCrashDuplicateCount.getCount(bufferedreader);
       if (integer != null && integer.intValue() > 1) {
         mJavaHeaderProcessor.process("CrashDuplicateCount", integer.toString(), writer);
       }
     }
     artifact.setCrashDescriptor(bufferedreader);
   }
 }