private void processRecord(WarcRecord record, XHTMLContentHandler xhtml, Metadata metadata,
                               ParseContext context,
                               EmbeddedDocumentExtractor embeddedDocumentExtractor)
            throws SAXException {
        if (RESPONSE.equals(record.type())) {
            try {
                processResponse((WarcResponse) record, xhtml, context, embeddedDocumentExtractor);
            } catch (IOException | TikaException e) {
                EmbeddedDocumentUtil.recordException(e, metadata);
            } catch (SAXException e) {
                if (WriteLimitReachedException.isWriteLimitReached(e)) {
                    throw e;
                } else {
                    EmbeddedDocumentUtil.recordException(e, metadata);
                }
            }
        } else if (WARCINFO.equals(record.type())) {
            processWarcInfo(record, xhtml, context);
        }
        //TODO - other warc record types

    }
This uses jwarc to parse warc files and arc files
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-webarchive-module/src/main/java/org/apache/tika/parser/warc/WARCParser.java