code: private void processCharacters(final Characters paramText) throws IOException, XMLStreamException,
          TTException {
          assert paramText != null;
          // Initialize variables.
          initializeVars();
          final String text = paramText.getData().toString();
          if (!text.isEmpty()) {
              // Main algorithm to determine if same, insert or a delete has to be
              // made.
              algorithm(paramText);
  
              if (mFound && mIsRightSibling) {
                  /*
                   * Cannot happen because if text node after end tag get's
                   * deleted it's done already while parsing the end tag. If text
                   * node should be deleted at the top of a subtree (right after a
                   * start tag has been parsed) it's done in
                   * processStartTag(StartElement).
                   */
                  // mDelete = EDelete.ATSTARTMIDDLE;
                  // deleteNode();
                  throw new AssertionError("");
              } else if (!mFound) {
                  insertTextNode(paramText);
              } else if (mFound) {
                  sameTextNode();
              }
          }
      }
docs: Process characters.
  
  @param paramText
  {@link Characters} currently parsed.
  @throws XMLStreamException
  In case of any StAX parsing error.
  @throws IOException
  In case of any I/O error.
  @throws TTException
  In case of any Treetank error.