private void findAndDisconnectLoopsInTypeHierarchy(List<JetType> supertypes) { for (Iterator<JetType> iterator = supertypes.iterator(); iterator.hasNext(); ) { JetType supertype = iterator.next(); if (isReachable(supertype.getConstructor(), this, new HashSet<TypeConstructor>())) { iterator.remove(); } } }