code: public AnnotationHeader processAnnotationHeader(String resourceLocation,
              File rawannotation, File annotationHomeFile)
              throws IndexingFailure {
          AnnotationHeaderParser ahParser = new AnnotationHeaderParser();
          AnnotationHeader annotationHeader;
  
          try {
              annotationHeader = ahParser.parseAnnotation(resourceLocation,
                      rawannotation);
              characterStopOffset = ahParser.getNextCharacterOffset();
          } catch (IOException e) {
              throw new IndexingFailure(resourceLocation, e);
          } catch (BELDataMissingPropertyException e) {
              throw new IndexingFailure(resourceLocation, e);
          } catch (BELDataConversionException e) {
              throw new IndexingFailure(resourceLocation, e);
          } catch (BELDataInvalidPropertyException e) {
              throw new IndexingFailure(resourceLocation, e);
          }
  
          String output = asPath(annotationHomeFile.getAbsolutePath(),
                  "annotation.header");
  
          ObjectOutputStream oos = null;
          try {
              oos = new ObjectOutputStream(
                      new FileOutputStream(output));
              oos.writeObject(annotationHeader);
          } catch (IOException e) {
              final String msg = "Error writing annotation header.";
              throw new IndexingFailure(resourceLocation, msg, e);
          } finally {
              if (oos != null) {
                  try {
                      oos.close();
                  } catch (IOException e) {}
              }
          }
  
          return annotationHeader;
      }
docs: Processes a annotation {@link File} into a {@link annotationHeader} that
  is then written to the file system.
  
  @param rawannotation {@link File}, the raw annotation file to parse
  @param annotationHomeFile {@link File}, the annotation header file to
  write to
  @return {@link AnnotationHeader} the parsed annotation header
  @throws IndexingFailure Throws an annotation indexing exception is the
  annotation header processing fails