private void parseHeader(PsiBuilder builder) {
    PsiBuilder.Marker header = builder.mark();
    String headerName = builder.getTokenText();
    assert headerName != null : "[" + builder.getOriginalText() + "]@" + builder.getCurrentOffset();
    builder.advanceLexer();

    if (builder.getTokenType() == ManifestTokenType.COLON) {
      builder.advanceLexer();

      if (!expect(builder, ManifestTokenType.SIGNIFICANT_SPACE)) {
        builder.error(ManifestBundle.message("manifest.whitespace.expected"));
      }

      HeaderParser headerParser = notNull(myRepository.getHeaderParser(headerName), StandardHeaderParser.INSTANCE);
      headerParser.parse(builder);
    }
    else {
      PsiBuilder.Marker marker = builder.mark();
      consumeHeaderValue(builder);
      marker.error(ManifestBundle.message("manifest.colon.expected"));
    }

    header.done(ManifestElementType.HEADER);
  }
private void parseHeader(PsiBuilder builder)