public synchronized void addPredecessor(final Value pred,final URI edge){
  Set<URI> edges=predecessors.get(pred);
  if (edges == null) {
    edges=new LinkedHashSet<URI>();
    predecessors.put(pred,edges);
  }
  edges.add(edge);
}

public synchronized void addPredecessor ( final Value pred , final URI edge ) { Set < URI > edges = predecessors . get ( pred ) ; if ( edges == null ) { edges = new LinkedHashSet < URI > ( ) ; predecessors . put ( pred , edges ) ; } edges . add ( edge ) ; }
add a predecessor ( might have already been added ) and the edge along which the predecessor discovered this vertex .
