public GenerateToStringDialog(Shell shell, CompilationUnitEditor editor, IType type, IVariableBinding[] fields, IVariableBinding[] inheritedFields, IVariableBinding[] selectedFields,
IMethodBinding[] methods, IMethodBinding[] inheritededMethods) throws JavaModelException {
super(shell, new BindingLabelProvider(), new GenerateToStringContentProvider(fields, inheritedFields, methods, inheritededMethods), editor, type, false);
setEmptyListMessage(JavaUIMessages.GenerateHashCodeEqualsDialog_no_entries);
List<Object> selected= new ArrayList<Object>(Arrays.asList(selectedFields));
if (selectedFields.length == fields.length && selectedFields.length > 0)
selected.add(getContentProvider().getParent(selectedFields[0]));
setInitialElementSelections(selected);
setTitle(JavaUIMessages.GenerateToStringDialog_dialog_title);
setMessage(JavaUIMessages.GenerateToStringDialog_select_fields_to_include);
setValidator(new GenerateToStringValidator(fields.length + inheritedFields.length, methods.length + inheritededMethods.length));
setSize(60, 18);
setInput(new Object());
fGenerationSettings= new ToStringGenerationSettings(getDialogSettings());
}