private long nfatree(Subre t) throws RegexException {
        assert t != null && t.begin != null;

        if (t.left != null) {
            nfatree(t.left);
        }
        if (t.right != null) {
            nfatree(t.right);
        }
        return nfanode(t);
    }
private long nfatree(Subre t) throws RegexException {
        assert t != null && t.begin != null;

        if (t.left != null) {
            nfatree(t.left);
        }
        if (t.right != null) {
            nfatree(t.right);
        }
        return nfanode(t);
    }
private long nfatree ( Subre t ) throws RegexException { assert t != null && t . begin != null ; if ( t . left != null ) { nfatree ( t . left ) ; } if ( t . right != null ) { nfatree ( t . right ) ; } return nfanode ( t ) ; }
/* optimize results from top node
/ * optimize results from top node