public void startElement(String uri, String localName, String qName, Attributes atts)
            throws SAXException {
        sendRequest(START_ELEMENT);
        sendString(uri);
        sendString(localName);
        sendString(qName);
        int n = -1;
        if (atts != null) {
            n = atts.getLength();
        }
        try {
            output.writeInt(n);
        } catch (IOException e) {
            throw new SAXException("Unexpected fork proxy problem", e);
        }
        for (int i = 0; i < n; i++) {
            sendString(atts.getURI(i));
            sendString(atts.getLocalName(i));
            sendString(atts.getQName(i));
            sendString(atts.getType(i));
            sendString(atts.getValue(i));
        }
        doneSending();
    }
Breaks the string in 21,845 size chunks to not
throw UTFDataFormatException at least in Oracle JDK 8.
tika-core/src/main/java/org/apache/tika/fork/ContentHandlerProxy.java