private TextImpl firstTextNodeInCurrentRun(){
  TextImpl firstTextInCurrentRun=this;
  for (Node p=getPreviousSibling(); p != null; p=p.getPreviousSibling()) {
    short nodeType=p.getNodeType();
    if (nodeType == Node.TEXT_NODE || nodeType == Node.CDATA_SECTION_NODE) {
      firstTextInCurrentRun=(TextImpl)p;
    }
 else {
      break;
    }
  }
  return firstTextInCurrentRun;
}

private TextImpl firstTextNodeInCurrentRun ( ) { TextImpl firstTextInCurrentRun = this ; for ( Node p = getPreviousSibling ( ) ; p != null ; p = p . getPreviousSibling ( ) ) { short nodeType = p . getNodeType ( ) ; if ( nodeType == Node . TEXT_NODE || nodeType == Node . CDATA_SECTION_NODE ) { firstTextInCurrentRun = ( TextImpl ) p ; } else { break ; } } return firstTextInCurrentRun ; }
returns the first text or cdata node in the current sequence of text and cdata nodes .
