private boolean hasOtherMapAndReduceParentNode(Lop tmpNode,ArrayList<Lop> nodeList,Lop node){
  if (tmpNode.getExecLocation() == ExecLocation.MapAndReduce)   return true;
  for (  Lop n : tmpNode.getOutputs()) {
    if (nodeList.contains(n) && isChild(n,node,IDMap)) {
      if (!n.equals(node) && n.getExecLocation() == ExecLocation.MapAndReduce)       return true;
 else       return hasOtherMapAndReduceParentNode(n,nodeList,node);
    }
  }
  return false;
}

private boolean hasOtherMapAndReduceParentNode ( Lop tmpNode , ArrayList < Lop > nodeList , Lop node ) { if ( tmpNode . getExecLocation ( ) == ExecLocation . MapAndReduce ) return true ; for ( Lop n : tmpNode . getOutputs ( ) ) { if ( nodeList . contains ( n ) && isChild ( n , node , IDMap ) ) { if ( ! n . equals ( node ) && n . getExecLocation ( ) == ExecLocation . MapAndReduce ) return true ; else return hasOtherMapAndReduceParentNode ( n , nodeList , node ) ; } } return false ; }
method to see if there is a node of type mapandreduce between tmpnode and node in given node collection
