private void _findByName(List target,List source,String name){
  for (int i=0; i < source.size(); i++) {
    Object o=source.get(i);
    if (o instanceof Map) {
      _findByName(target,(Map)o,name);
    }
 else     if (o instanceof List) {
      _findByName(target,(List)o,name);
    }
  }
}

private void _findByName ( List target , List source , String name ) { for ( int i = 0 ; i < source . size ( ) ; i ++ ) { Object o = source . get ( i ) ; if ( o instanceof Map ) { _findByName ( target , ( Map ) o , name ) ; } else if ( o instanceof List ) { _findByName ( target , ( List ) o , name ) ; } } }
internal method for finding decendant nodes
