private boolean hasOtherQueuedParentNode(Lop tmpNode,ArrayList<Lop> queuedNodes,Lop node){
  if (queuedNodes.isEmpty())   return false;
  boolean[] nodeMarked=node.get_reachable();
  boolean[] tmpMarked=tmpNode.get_reachable();
  long nodeid=IDMap.get(node.getID());
  long tmpid=IDMap.get(tmpNode.getID());
  for (  Lop qnode : queuedNodes) {
    int id=IDMap.get(qnode.getID());
    if ((id != nodeid && nodeMarked[id]) && (id != tmpid && tmpMarked[id]))     return true;
  }
  return false;
}

private boolean hasOtherQueuedParentNode ( Lop tmpNode , ArrayList < Lop > queuedNodes , Lop node ) { if ( queuedNodes . isEmpty ( ) ) return false ; boolean [ ] nodeMarked = node . get_reachable ( ) ; boolean [ ] tmpMarked = tmpNode . get_reachable ( ) ; long nodeid = IDMap . get ( node . getID ( ) ) ; long tmpid = IDMap . get ( tmpNode . getID ( ) ) ; for ( Lop qnode : queuedNodes ) { int id = IDMap . get ( qnode . getID ( ) ) ; if ( ( id != nodeid && nodeMarked [ id ] ) && ( id != tmpid && tmpMarked [ id ] ) ) return true ; } return false ; }
method to check if there is a queued node that is a parent of both tmpnode and node
