if( n.getChildCount() == 0 && n.getBaseMatch().getChildCount()!=0) childrenInSameArea=false;
  protected void getAreaStopNodes( Vector stopNodes, BranchNode n ) {    boolean childrenInSameArea = true;    MatchArea parentArea = n.getMatchArea();    if( parentArea == null )      throw new RuntimeException("ASSERT FAILED");    for( int i=0;i<n.getChildCount() && childrenInSameArea;i++)      childrenInSameArea&= n.getChild(i).getMatchArea() == parentArea;    if( !childrenInSameArea ) {      stopNodes.add(n);      return;    } else {      for( int i=0;i<n.getChildCount();i++)        getAreaStopNodes(stopNodes,n.getChild(i));    }  }