
addInequation(type, supertype);
}</BUG>
}
if (mySupertypesToSubtypesMap.containsKey(var)) {
<BUG>Set<SNode> subtypes = mySupertypesToSubtypesMap.get(var);
</BUG>
mySupertypesToSubtypesMap.remove(var);
<BUG>for (SNode subtype : subtypes) {
</BUG>
mySubtypesToSupertypesMap.get(subtype).remove(var);

mySubtypesToSupertypesMap.remove(var);
for (SNode supertype : supertypes.keySet()) {
mySupertypesToSubtypesMap.get(supertype).remove(var);
}
for (SNode supertype : supertypes.keySet()) {
addInequation(type, supertype, supertypes.get(supertype));
}
}
if (mySupertypesToSubtypesMap.containsKey(var)) {
Map<SNode,SNode> subtypes = mySupertypesToSubtypesMap.get(var);
mySupertypesToSubtypesMap.remove(var);
for (SNode subtype : subtypes.keySet()) {
mySubtypesToSupertypesMap.get(subtype).remove(var);
