private IMember openDialog( CorrespondingMemberRequest request, Collection<IType> proposedClasses, Collection<IMethod> proposedMethods, boolean perfectMatches) { String promptText = request.getPromptText(); String infoText = null; if (!perfectMatches) { promptText = String.format( "%s %s%s", promptText, StringConstants.NEWLINE, "We could find the following classes, but their packages do not match:"); infoText = "Please note that theses classes will not be considered for other MoreUnit features such as test launching or refactoring."; } IMember startMember = request.getCurrentMethod() != null ? request.getCurrentMethod() : getType(); IMember defaultSelection = getDefaultSelection(proposedClasses, proposedMethods, startMember); MemberContentProvider contentProvider = new MemberContentProvider(proposedClasses, proposedMethods, defaultSelection) .withAction( new CreateNewClassAction() { @Override public IType execute() { return newCorrespondingClassWizard(getType()).open(); } }); return new ChooseDialog<IMember>(promptText, infoText, contentProvider).getChoice(); }