diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/rename/RippleMethodFinder2.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/rename/RippleMethodFinder2.java index 745382f2c06..54f970989c7 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/rename/RippleMethodFinder2.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/rename/RippleMethodFinder2.java @@ -98,7 +98,8 @@ public void init(IType type) { public IType find(IType element) { IType root= element; IType rep= fElementToRepresentative.get(root); - while (rep != null && ! rep.equals(root)) { + Set visited=new HashSet<>(); + while (rep != null && visited.add(root)) { root= rep; rep= fElementToRepresentative.get(root); }