System.out.println("IDENTITY failed: childcount failed"); return false; } for( int i=0;i<a.getChildCount();i++) if( !treesIdentical( a.getChild(i), b.getChild(i) ) ) return false; return true;
if(searchAll) System.out.println("IDENTITY failed: childcount failed below "+ a.toString()); result = false; } else if( result || searchAll ) for( int i=0;i<a.getChildCount();i++) if( !treesIdentical( a.getChild(i), b.getChild(i), searchAll ) ) result = false; return result;
  private boolean treesIdentical( ONode a, ONode b ) {    if( !a.contentEquals(b) ) {      System.out.println("IDENTITY Failed");      System.out.println(a.toString());      System.out.println(b.toString());     return false;    }    if( a.getChildCount() != b.getChildCount() ) {      System.out.println("IDENTITY failed: childcount failed");       return false;    }    for( int i=0;i<a.getChildCount();i++)      if( !treesIdentical( a.getChild(i), b.getChild(i) ) )        return false;    return true;  }