</BUG>
callSitesWithInterest.add(incEdge.getCallSite());
}
propagate = !callSitesWithInterest.isEmpty();
<BUG>for(IncomingEdge<D, N> incEdge : incomingEdgesPrefixesOf(calleeMethod, pathEdge.factAtSource())) {
</BUG>
if(visited.containsKey(incEdge.getCallSite())) {
if(visited.get(incEdge.getCallSite()) != null)
propagate |= visited.get(incEdge.getCallSite());
}

propagate = true;
else if(hasPausedEdges(calleeMethod, pathEdge))
propagate = false;
else {
Set<N> callSitesWithInterest = Sets.newHashSet();
for(IncomingEdge<D, N> incEdge : incomingEdgesPrefixedWith(calleeMethod, pathEdge.factAtSource())) { //guaranteed
callSitesWithInterest.add(incEdge.getCallSite());
}
propagate = !callSitesWithInterest.isEmpty();
for(IncomingEdge<D, N> incEdge : incomingEdgesPotentialPrefixesOf(calleeMethod, pathEdge.factAtSource())) { //potential
if(visited.containsKey(incEdge.getCallSite())) {
if(visited.get(incEdge.getCallSite()) != null)
propagate |= visited.get(incEdge.getCallSite());
}
