for example
org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.superInterfaces() recursively calls ReferenceBinding.superInterfaces() (without even using the returned type (// make super-type resolving recursive for propagating typeBits downwards) and does not protect against redundant super interfaces
sampling data from #3387 (comment):

@fedejeanne you may want to protect this against already visited types too.