RTEditor/src/main/java/com/onegravity/rteditor/converter/tagsoup/Parser.java
private void rectify(Element e) throws SAXException {
        Element sp;
        while (true) {
            for (sp = theStack; sp != null; sp = sp.next()) {
                if (sp.canContain(e))
                    break;
            }
            if (sp != null)
                break;
            ElementType parentType = e.parent();
            if (parentType == null)
                break;
            Element parent = new Element(parentType, defaultAttributes);
            // parent.name());
            parent.setNext(e);
            e = parent;
        }
        if (sp == null)
            return; // don't know what to do
        while (theStack != sp) {
            if (theStack == null || theStack.next() == null
                    || theStack.next().next() == null)
                break;
            restartablyPop();
        }
        while (e != null) {
            Element nexte = e.next();
            if (!e.name().equals("<pcdata>"))
                push(e);
            e = nexte;
            restart(e);
        }
        theNewElement = null;
    }
private void rectify(Element e) throws SAXException {
        Element sp;
        while (true) {
            for (sp = theStack; sp != null; sp = sp.next()) {
                if (sp.canContain(e))
                    break;
            }
            if (sp != null)
                break;
            ElementType parentType = e.parent();
            if (parentType == null)
                break;
            Element parent = new Element(parentType, defaultAttributes);
            // parent.name());
            parent.setNext(e);
            e = parent;
        }
        if (sp == null)
            return; // don't know what to do
        while (theStack != sp) {
            if (theStack == null || theStack.next() == null
                    || theStack.next().next() == null)
                break;
            restartablyPop();
        }
        while (e != null) {
            Element nexte = e.next();
            if (!e.name().equals("<pcdata>"))
                push(e);
            e = nexte;
            restart(e);
        }
        theNewElement = null;
    }
private void rectify ( Element e ) throws SAXException { Element sp ; while ( true ) { for ( sp = theStack ; sp != null ; sp = sp . next ( ) ) { if ( sp . canContain ( e ) ) break ; } if ( sp != null ) break ; ElementType parentType = e . parent ( ) ; if ( parentType == null ) break ; Element parent = new Element ( parentType , defaultAttributes ) ; // parent.name()); parent . setNext ( e ) ; e = parent ; } if ( sp == null ) return ; // don't know what to do while ( theStack != sp ) { if ( theStack == null || theStack . next ( ) == null || theStack . next ( ) . next ( ) == null ) break ; restartablyPop ( ) ; } while ( e != null ) { Element nexte = e . next ( ) ; if ( ! e . name ( ) . equals ( "<pcdata>" ) ) push ( e ) ; e = nexte ; restart ( e ) ; } theNewElement = null ; }
so that the argument can be safely pushed
so that the argument can be safely pushed