Bug 98341 Override/Implement Methods shows nonvisible methods.
The Override/Implement Methods refactoring dialog shows all methods with package-private access, even if they are in other packages. Example: package foo; public class Foo { void method() {} } package bar; public class Bar extends foo.Foo { } Activating the Override/Implement Methods on Bar shows Foo.method.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/dialogs/OverrideMethodDialog.java
else
			overridable= new IMethodBinding[] {};
		for (int i= 0; i < overridable.length; i++) {
			if (Modifier.isAbstract(overridable[i].getModifiers())) {
				toImplement.add(overridable[i]);
			}
		}
		IMethodBinding[] toImplementArray= (IMethodBinding[]) toImplement.toArray(new IMethodBinding[toImplement.size()]);
		setInitialSelections(toImplementArray);
		HashSet expanded= new HashSet(toImplementArray.length);
		for (int i= 0; i < toImplementArray.length; i++) {
			expanded.add(toImplementArray[i].getDeclaringClass());
		}
		HashSet types= new HashSet(overridable.length);
		for (int i= 0; i < overridable.length; i++) {
			types.add(overridable[i].getDeclaringClass());
		}
		ITypeBinding[] typesArrays= (ITypeBinding[]) types.toArray(new ITypeBinding[types.size()]);
		ViewerSorter sorter= new OverrideMethodSorter(binding);
		if (expanded.isEmpty() && typesArrays.length > 0) {
			sorter.sort(null, typesArrays);
			expanded.add(typesArrays[0]);
		}
		setExpandedElements(expanded.toArray());
		((OverrideMethodContentProvider) getContentProvider()).init(overridable, typesArrays);
		setTitle(JavaUIMessages.OverrideMethodDialog_dialog_title);
		setMessage(null);
		setValidator(new OverrideMethodValidator(overridable.length));
		setSorter(sorter);
		setContainerMode(true);