
Set<SNode> supertypesSupertypes = mySubtypesToSupertypesMap.get(supertype);
</BUG>
if (supertypesSupertypes == null) continue;
<BUG>for (SNode supertypesSubtype : supertypesSupertypes) {
</BUG>
if (supertypesSubtype == node) {
<BUG>addEquation(node, supertype);
}</BUG>
}

mySupertypesToSubtypesMap.get(supertype).remove(node);
}
}
for (SNode node : subtypingGraphVertices()) {
Map<SNode,SNode> supertypes = mySubtypesToSupertypesMap.get(node);
if (supertypes == null) continue;
for (SNode supertype : new HashSet<SNode>(supertypes.keySet())) {
Map<SNode,SNode> supertypesSupertypes = mySubtypesToSupertypesMap.get(supertype);
if (supertypesSupertypes == null) continue;
for (SNode supertypesSubtype : supertypesSupertypes.keySet()) {
if (supertypesSubtype == node) {
addEquation(node, supertype, supertypesSupertypes.get(supertypesSubtype));
