Removed UI.
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / ui / wizards / NewTypeWizardPage.java
diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/wizards/NewTypeWizardPage.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/wizards/NewTypeWizardPage.java
deleted file mode 100644 (file)
index 8105380..0000000
+++ /dev/null
@@ -1,1722 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package net.sourceforge.phpdt.ui.wizards;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import net.sourceforge.phpdt.core.Flags;
-import net.sourceforge.phpdt.core.IBuffer;
-import net.sourceforge.phpdt.core.ICompilationUnit;
-import net.sourceforge.phpdt.core.IJavaElement;
-import net.sourceforge.phpdt.core.IPackageFragment;
-import net.sourceforge.phpdt.core.IPackageFragmentRoot;
-import net.sourceforge.phpdt.core.ISourceRange;
-import net.sourceforge.phpdt.core.IType;
-import net.sourceforge.phpdt.core.ToolFactory;
-import net.sourceforge.phpdt.core.compiler.IScanner;
-import net.sourceforge.phpdt.core.compiler.ITerminalSymbols;
-import net.sourceforge.phpdt.core.compiler.InvalidInputException;
-import net.sourceforge.phpdt.externaltools.internal.ui.StatusInfo;
-import net.sourceforge.phpdt.internal.corext.codemanipulation.StubUtility;
-import net.sourceforge.phpdt.internal.corext.template.php.JavaContext;
-import net.sourceforge.phpdt.internal.corext.template.php.Templates;
-import net.sourceforge.phpdt.internal.corext.util.JavaModelUtil;
-import net.sourceforge.phpdt.internal.ui.PHPUiImages;
-import net.sourceforge.phpdt.internal.ui.util.SWTUtil;
-import net.sourceforge.phpdt.internal.ui.wizards.NewWizardMessages;
-import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.DialogField;
-import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.IDialogFieldListener;
-import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.IListAdapter;
-import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.IStringButtonAdapter;
-import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.LayoutUtil;
-import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.ListDialogField;
-import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.SelectionButtonDialogField;
-import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.SelectionButtonDialogFieldGroup;
-import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.Separator;
-import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.StringButtonDialogField;
-import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.StringButtonStatusDialogField;
-import net.sourceforge.phpdt.internal.ui.wizards.dialogfields.StringDialogField;
-import net.sourceforge.phpdt.ui.CodeGeneration;
-import net.sourceforge.phpdt.ui.PreferenceConstants;
-import net.sourceforge.phpeclipse.PHPeclipsePlugin;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.templates.Template;
-import org.eclipse.jface.text.templates.TemplateException;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * The class <code>NewTypeWizardPage</code> contains controls and validation routines 
- * for a 'New Type WizardPage'. Implementors decide which components to add and to enable. 
- * Implementors can also customize the validation code. <code>NewTypeWizardPage</code> 
- * is intended to serve as base class of all wizards that create types like applets, servlets, classes, 
- * interfaces, etc.
- * <p>
- * See <code>NewClassWizardPage</code> or <code>NewInterfaceWizardPage</code> for an
- * example usage of <code>NewTypeWizardPage</code>.
- * </p>
- * 
- * @see net.sourceforge.phpdt.ui.wizards.NewClassWizardPage
- * @see net.sourceforge.phpdt.ui.wizards.NewInterfaceWizardPage
- * 
- * @since 2.0
- */
-public abstract class NewTypeWizardPage extends NewContainerWizardPage {
-
-  /**
-   * Class used in stub creation routines to add needed imports to a 
-   * compilation unit.
-   */
-  //   public static class ImportsManager {
-  //
-  //           private IImportsStructure fImportsStructure;
-  //
-  //           /* package */ ImportsManager(IImportsStructure structure) {
-  //                   fImportsStructure= structure;
-  //           }
-  //
-  //           /* package */ IImportsStructure getImportsStructure() {
-  //                   return fImportsStructure;
-  //           }
-  //                           
-  //           /**
-  //            * Adds a new import declaration that is sorted in the existing imports.
-  //            * If an import already exists or the import would conflict with another import
-  //            * of an other type with the same simple name  the import is not added.
-  //            * 
-  //            * @param qualifiedTypeName The fully qualified name of the type to import
-  //            * (dot separated)
-  //            * @return Returns the simple type name that can be used in the code or the
-  //            * fully qualified type name if an import conflict prevented the import
-  //            */                             
-  //           public String addImport(String qualifiedTypeName) {
-  //                   return fImportsStructure.addImport(qualifiedTypeName);
-  //           }
-  //   }
-
-  /** Public access flag. See The Java Virtual Machine Specification for more details. */
-  public int F_PUBLIC = Flags.AccPublic;
-  /** Private access flag. See The Java Virtual Machine Specification for more details. */
-  public int F_PRIVATE = Flags.AccPrivate;
-  /**  Protected access flag. See The Java Virtual Machine Specification for more details. */
-  public int F_PROTECTED = Flags.AccProtected;
-  /** Static access flag. See The Java Virtual Machine Specification for more details. */
-  public int F_STATIC = Flags.AccStatic;
-  /** Final access flag. See The Java Virtual Machine Specification for more details. */
-  public int F_FINAL = Flags.AccFinal;
-  /** Abstract property flag. See The Java Virtual Machine Specification for more details. */
-  //   public int F_ABSTRACT = Flags.AccAbstract;
-
-  private final static String PAGE_NAME = "NewTypeWizardPage"; //$NON-NLS-1$
-
-  /** Field ID of the package input field */
-  protected final static String PACKAGE = PAGE_NAME + ".package"; //$NON-NLS-1$
-  /** Field ID of the eclosing type input field */
-  protected final static String ENCLOSING = PAGE_NAME + ".enclosing"; //$NON-NLS-1$
-  /** Field ID of the enclosing type checkbox */
-  protected final static String ENCLOSINGSELECTION = ENCLOSING + ".selection"; //$NON-NLS-1$
-  /** Field ID of the type name input field */
-  protected final static String TYPENAME = PAGE_NAME + ".typename"; //$NON-NLS-1$
-  /** Field ID of the super type input field */
-  protected final static String SUPER = PAGE_NAME + ".superclass"; //$NON-NLS-1$
-  /** Field ID of the super interfaces input field */
-  protected final static String INTERFACES = PAGE_NAME + ".interfaces"; //$NON-NLS-1$
-  /** Field ID of the modifier checkboxes */
-  protected final static String MODIFIERS = PAGE_NAME + ".modifiers"; //$NON-NLS-1$
-  /** Field ID of the method stubs checkboxes */
-  protected final static String METHODS = PAGE_NAME + ".methods"; //$NON-NLS-1$
-
-  private class InterfacesListLabelProvider extends LabelProvider {
-
-    private Image fInterfaceImage;
-
-    public InterfacesListLabelProvider() {
-      super();
-      fInterfaceImage = PHPUiImages.get(PHPUiImages.IMG_OBJS_INTERFACE);
-    }
-
-    public Image getImage(Object element) {
-      return fInterfaceImage;
-    }
-  }
-
-  private StringButtonStatusDialogField fPackageDialogField;
-
-  private SelectionButtonDialogField fEnclosingTypeSelection;
-  private StringButtonDialogField fEnclosingTypeDialogField;
-
-  private boolean fCanModifyPackage;
-  private boolean fCanModifyEnclosingType;
-
-  private IPackageFragment fCurrPackage;
-
-  //   private IType fCurrEnclosingType;       
-  private StringDialogField fTypeNameDialogField;
-
-  private StringButtonDialogField fSuperClassDialogField;
-  private ListDialogField fSuperInterfacesDialogField;
-
-  //   private IType fSuperClass;
-
-  private SelectionButtonDialogFieldGroup fAccMdfButtons;
-  private SelectionButtonDialogFieldGroup fOtherMdfButtons;
-
-  private IType fCreatedType;
-
-  protected IStatus fEnclosingTypeStatus;
-  protected IStatus fPackageStatus;
-  protected IStatus fTypeNameStatus;
-  //   protected IStatus fSuperClassStatus;
-  protected IStatus fModifierStatus;
-  //   protected IStatus fSuperInterfacesStatus;       
-
-  private boolean fIsClass;
-  private int fStaticMdfIndex;
-
-  private final int PUBLIC_INDEX = 0, DEFAULT_INDEX = 1, PRIVATE_INDEX = 2, PROTECTED_INDEX = 3;
-  private final int ABSTRACT_INDEX = 0, FINAL_INDEX = 1;
-
-  /**
-   * Creates a new <code>NewTypeWizardPage</code>
-   * 
-   * @param isClass <code>true</code> if a new class is to be created; otherwise
-   * an interface is to be created
-   * @param pageName the wizard page's name
-   */
-  public NewTypeWizardPage(boolean isClass, String pageName) {
-    super(pageName);
-    fCreatedType= null;
-
-    fIsClass = isClass;
-
-    TypeFieldsAdapter adapter = new TypeFieldsAdapter();
-
-    fPackageDialogField = new StringButtonStatusDialogField(adapter);
-    fPackageDialogField.setDialogFieldListener(adapter);
-    fPackageDialogField.setLabelText(NewWizardMessages.getString("NewTypeWizardPage.package.label")); //$NON-NLS-1$
-    fPackageDialogField.setButtonLabel(NewWizardMessages.getString("NewTypeWizardPage.package.button")); //$NON-NLS-1$
-    fPackageDialogField.setStatusWidthHint(NewWizardMessages.getString("NewTypeWizardPage.default")); //$NON-NLS-1$
-
-    fEnclosingTypeSelection = new SelectionButtonDialogField(SWT.CHECK);
-    fEnclosingTypeSelection.setDialogFieldListener(adapter);
-    fEnclosingTypeSelection.setLabelText(NewWizardMessages.getString("NewTypeWizardPage.enclosing.selection.label")); //$NON-NLS-1$
-
-    fEnclosingTypeDialogField = new StringButtonDialogField(adapter);
-    fEnclosingTypeDialogField.setDialogFieldListener(adapter);
-    fEnclosingTypeDialogField.setButtonLabel(NewWizardMessages.getString("NewTypeWizardPage.enclosing.button")); //$NON-NLS-1$
-
-    fTypeNameDialogField = new StringDialogField();
-    fTypeNameDialogField.setDialogFieldListener(adapter);
-    fTypeNameDialogField.setLabelText(NewWizardMessages.getString("NewTypeWizardPage.typename.label")); //$NON-NLS-1$
-
-    fSuperClassDialogField = new StringButtonDialogField(adapter);
-    fSuperClassDialogField.setDialogFieldListener(adapter);
-    fSuperClassDialogField.setLabelText(NewWizardMessages.getString("NewTypeWizardPage.superclass.label")); //$NON-NLS-1$
-    fSuperClassDialogField.setButtonLabel(NewWizardMessages.getString("NewTypeWizardPage.superclass.button")); //$NON-NLS-1$
-
-    String[] addButtons = new String[] {
-      /* 0 */
-      NewWizardMessages.getString("NewTypeWizardPage.interfaces.add"), //$NON-NLS-1$
-      /* 1 */
-      null,
-      /* 2 */
-      NewWizardMessages.getString("NewTypeWizardPage.interfaces.remove") //$NON-NLS-1$
-    };
-    fSuperInterfacesDialogField = new ListDialogField(adapter, addButtons, new InterfacesListLabelProvider());
-    fSuperInterfacesDialogField.setDialogFieldListener(adapter);
-    String interfaceLabel = fIsClass ? NewWizardMessages.getString("NewTypeWizardPage.interfaces.class.label") : NewWizardMessages.getString("NewTypeWizardPage.interfaces.ifc.label"); //$NON-NLS-1$ //$NON-NLS-2$
-    fSuperInterfacesDialogField.setLabelText(interfaceLabel);
-    fSuperInterfacesDialogField.setRemoveButtonIndex(2);
-
-    String[] buttonNames1 = new String[] {
-      /* 0 == PUBLIC_INDEX */
-      NewWizardMessages.getString("NewTypeWizardPage.modifiers.public"), //$NON-NLS-1$
-      /* 1 == DEFAULT_INDEX */
-      NewWizardMessages.getString("NewTypeWizardPage.modifiers.default"), //$NON-NLS-1$
-      /* 2 == PRIVATE_INDEX */
-      NewWizardMessages.getString("NewTypeWizardPage.modifiers.private"), //$NON-NLS-1$
-      /* 3 == PROTECTED_INDEX*/
-      NewWizardMessages.getString("NewTypeWizardPage.modifiers.protected") //$NON-NLS-1$
-    };
-    fAccMdfButtons = new SelectionButtonDialogFieldGroup(SWT.RADIO, buttonNames1, 4);
-    fAccMdfButtons.setDialogFieldListener(adapter);
-    fAccMdfButtons.setLabelText(NewWizardMessages.getString("NewTypeWizardPage.modifiers.acc.label")); //$NON-NLS-1$
-    fAccMdfButtons.setSelection(0, true);
-
-    String[] buttonNames2;
-    if (fIsClass) {
-      buttonNames2 = new String[] {
-        /* 0 == ABSTRACT_INDEX */
-        NewWizardMessages.getString("NewTypeWizardPage.modifiers.abstract"), //$NON-NLS-1$
-        /* 1 == FINAL_INDEX */
-        NewWizardMessages.getString("NewTypeWizardPage.modifiers.final"), //$NON-NLS-1$
-        /* 2 */
-        NewWizardMessages.getString("NewTypeWizardPage.modifiers.static") //$NON-NLS-1$
-      };
-      fStaticMdfIndex = 2; // index of the static checkbox is 2
-    } else {
-      buttonNames2 = new String[] { NewWizardMessages.getString("NewTypeWizardPage.modifiers.static") //$NON-NLS-1$
-      };
-      fStaticMdfIndex = 0; // index of the static checkbox is 0
-    }
-
-    fOtherMdfButtons = new SelectionButtonDialogFieldGroup(SWT.CHECK, buttonNames2, 4);
-    fOtherMdfButtons.setDialogFieldListener(adapter);
-
-    fAccMdfButtons.enableSelectionButton(PRIVATE_INDEX, false);
-    fAccMdfButtons.enableSelectionButton(PROTECTED_INDEX, false);
-    fOtherMdfButtons.enableSelectionButton(fStaticMdfIndex, false);
-
-    fPackageStatus = new StatusInfo();
-    fEnclosingTypeStatus = new StatusInfo();
-
-    fCanModifyPackage = true;
-    fCanModifyEnclosingType = true;
-    updateEnableState();
-
-    fTypeNameStatus = new StatusInfo();
-    //         fSuperClassStatus= new StatusInfo();
-    //         fSuperInterfacesStatus= new StatusInfo();
-    fModifierStatus = new StatusInfo();
-  }
-
-  /**
-   * Initializes all fields provided by the page with a given selection.
-   * 
-   * @param elem the selection used to intialize this page or <code>
-   * null</code> if no selection was available
-   */
-  protected void initTypePage(IJavaElement elem) {
-    String initSuperclass = "java.lang.Object"; //$NON-NLS-1$
-    ArrayList initSuperinterfaces = new ArrayList(5);
-
-    IPackageFragment pack = null;
-    IType enclosingType = null;
-
-    if (elem != null) {
-      // evaluate the enclosing type
-      pack = (IPackageFragment) elem.getAncestor(IJavaElement.PACKAGE_FRAGMENT);
-      IType typeInCU = (IType) elem.getAncestor(IJavaElement.TYPE);
-      if (typeInCU != null) {
-        if (typeInCU.getCompilationUnit() != null) {
-          enclosingType = typeInCU;
-        }
-      } else {
-        ICompilationUnit cu = (ICompilationUnit) elem.getAncestor(IJavaElement.COMPILATION_UNIT);
-        if (cu != null) {
-          //                                   enclosingType= cu.findPrimaryType();
-        }
-      }
-
-      //                       try {
-      //                               IType type= null;
-      //                               if (elem.getElementType() == IJavaElement.TYPE) {
-      //                                       type= (IType)elem;
-      //                                       if (type.exists()) {
-      //                                               String superName= JavaModelUtil.getFullyQualifiedName(type);
-      //                                               if (type.isInterface()) {
-      //                                                       initSuperinterfaces.add(superName);
-      //                                               } else {
-      //                                                       initSuperclass= superName;
-      //                                               }
-      //                                       }
-      //                               }
-      //                       } catch (JavaModelException e) {
-      //                               PHPeclipsePlugin.log(e);
-      //                               // ignore this exception now
-      //                       }
-    }
-
-    setPackageFragment(pack, true);
-    //         setEnclosingType(enclosingType, true);
-    setEnclosingTypeSelection(false, true);
-
-    setTypeName("", true); //$NON-NLS-1$
-    setSuperClass(initSuperclass, true);
-    setSuperInterfaces(initSuperinterfaces, true);
-  }
-
-  // -------- UI Creation ---------
-
-  /**
-   * Creates a separator line. Expects a <code>GridLayout</code> with at least 1 column.
-   * 
-   * @param composite the parent composite
-   * @param nColumns number of columns to span
-   */
-  protected void createSeparator(Composite composite, int nColumns) {
-    (new Separator(SWT.SEPARATOR | SWT.HORIZONTAL)).doFillIntoGrid(composite, nColumns, convertHeightInCharsToPixels(1));
-  }
-
-  /**
-   * Creates the controls for the package name field. Expects a <code>GridLayout</code> with at 
-   * least 4 columns.
-   * 
-   * @param composite the parent composite
-   * @param nColumns number of columns to span
-   */
-  protected void createPackageControls(Composite composite, int nColumns) {
-    fPackageDialogField.doFillIntoGrid(composite, nColumns);
-    LayoutUtil.setWidthHint(fPackageDialogField.getTextControl(null), getMaxFieldWidth());
-    LayoutUtil.setHorizontalGrabbing(fPackageDialogField.getTextControl(null));
-  }
-
-  /**
-   * Creates the controls for the enclosing type name field. Expects a <code>GridLayout</code> with at 
-   * least 4 columns.
-   * 
-   * @param composite the parent composite
-   * @param nColumns number of columns to span
-   */
-  protected void createEnclosingTypeControls(Composite composite, int nColumns) {
-    // #6891
-    Composite tabGroup = new Composite(composite, SWT.NONE);
-    GridLayout layout = new GridLayout();
-    layout.marginWidth = 0;
-    layout.marginHeight = 0;
-    tabGroup.setLayout(layout);
-
-    fEnclosingTypeSelection.doFillIntoGrid(tabGroup, 1);
-
-    Control c = fEnclosingTypeDialogField.getTextControl(composite);
-    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-    gd.widthHint = getMaxFieldWidth();
-    gd.horizontalSpan = 2;
-    c.setLayoutData(gd);
-
-    Button button = fEnclosingTypeDialogField.getChangeControl(composite);
-    gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-    gd.heightHint = SWTUtil.getButtonHeightHint(button);
-    gd.widthHint = SWTUtil.getButtonWidthHint(button);
-    button.setLayoutData(gd);
-  }
-
-  /**
-   * Creates the controls for the type name field. Expects a <code>GridLayout</code> with at 
-   * least 2 columns.
-   * 
-   * @param composite the parent composite
-   * @param nColumns number of columns to span
-   */
-  protected void createTypeNameControls(Composite composite, int nColumns) {
-    fTypeNameDialogField.doFillIntoGrid(composite, nColumns - 1);
-    DialogField.createEmptySpace(composite);
-
-    LayoutUtil.setWidthHint(fTypeNameDialogField.getTextControl(null), getMaxFieldWidth());
-  }
-
-  /**
-   * Creates the controls for the modifiers radio/ceckbox buttons. Expects a 
-   * <code>GridLayout</code> with at least 3 columns.
-   * 
-   * @param composite the parent composite
-   * @param nColumns number of columns to span
-   */
-  protected void createModifierControls(Composite composite, int nColumns) {
-    LayoutUtil.setHorizontalSpan(fAccMdfButtons.getLabelControl(composite), 1);
-
-    Control control = fAccMdfButtons.getSelectionButtonsGroup(composite);
-    GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-    gd.horizontalSpan = nColumns - 2;
-    control.setLayoutData(gd);
-
-    DialogField.createEmptySpace(composite);
-
-    DialogField.createEmptySpace(composite);
-
-    control = fOtherMdfButtons.getSelectionButtonsGroup(composite);
-    gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-    gd.horizontalSpan = nColumns - 2;
-    control.setLayoutData(gd);
-
-    DialogField.createEmptySpace(composite);
-  }
-
-  /**
-   * Creates the controls for the superclass name field. Expects a <code>GridLayout</code> 
-   * with at least 3 columns.
-   * 
-   * @param composite the parent composite
-   * @param nColumns number of columns to span
-   */
-  protected void createSuperClassControls(Composite composite, int nColumns) {
-    fSuperClassDialogField.doFillIntoGrid(composite, nColumns);
-    LayoutUtil.setWidthHint(fSuperClassDialogField.getTextControl(null), getMaxFieldWidth());
-  }
-
-  /**
-   * Creates the controls for the superclass name field. Expects a <code>GridLayout</code> with 
-   * at least 3 columns.
-   * 
-   * @param composite the parent composite
-   * @param nColumns number of columns to span
-   */
-  protected void createSuperInterfacesControls(Composite composite, int nColumns) {
-    fSuperInterfacesDialogField.doFillIntoGrid(composite, nColumns);
-    GridData gd = (GridData) fSuperInterfacesDialogField.getListControl(null).getLayoutData();
-    if (fIsClass) {
-      gd.heightHint = convertHeightInCharsToPixels(3);
-    } else {
-      gd.heightHint = convertHeightInCharsToPixels(6);
-    }
-    gd.grabExcessVerticalSpace = false;
-    gd.widthHint = getMaxFieldWidth();
-  }
-
-  /**
-   * Sets the focus on the type name input field.
-   */
-  protected void setFocus() {
-    fTypeNameDialogField.setFocus();
-  }
-
-  // -------- TypeFieldsAdapter --------
-
-  private class TypeFieldsAdapter implements IStringButtonAdapter, IDialogFieldListener, IListAdapter {
-
-    // -------- IStringButtonAdapter
-    public void changeControlPressed(DialogField field) {
-      //                       typePageChangeControlPressed(field);
-    }
-
-    // -------- IListAdapter
-    public void customButtonPressed(ListDialogField field, int index) {
-      //                       typePageCustomButtonPressed(field, index);
-    }
-
-    public void selectionChanged(ListDialogField field) {
-    }
-
-    // -------- IDialogFieldListener
-    public void dialogFieldChanged(DialogField field) {
-      typePageDialogFieldChanged(field);
-    }
-
-    public void doubleClicked(ListDialogField field) {
-    }
-  }
-
-  //   private void typePageChangeControlPressed(DialogField field) {
-  //           if (field == fPackageDialogField) {
-  //                   IPackageFragment pack= choosePackage(); 
-  //                   if (pack != null) {
-  //                           fPackageDialogField.setText(pack.getElementName());
-  //                   }
-  //           } else if (field == fEnclosingTypeDialogField) {
-  //                   IType type= chooseEnclosingType();
-  //                   if (type != null) {
-  //                           fEnclosingTypeDialogField.setText(JavaModelUtil.getFullyQualifiedName(type));
-  //                   }
-  //           } else if (field == fSuperClassDialogField) {
-  //                   IType type= chooseSuperType();
-  //                   if (type != null) {
-  //                           fSuperClassDialogField.setText(JavaModelUtil.getFullyQualifiedName(type));
-  //                   }
-  //           }
-  //   }
-
-  //   private void typePageCustomButtonPressed(DialogField field, int index) {                
-  //           if (field == fSuperInterfacesDialogField) {
-  //                   chooseSuperInterfaces();
-  //           }
-  //   }
-
-  /*
-   * A field on the type has changed. The fields' status and all dependend
-   * status are updated.
-   */
-  private void typePageDialogFieldChanged(DialogField field) {
-    String fieldName = null;
-    if (field == fPackageDialogField) {
-      fPackageStatus = packageChanged();
-      updatePackageStatusLabel();
-      fTypeNameStatus = typeNameChanged();
-      //                       fSuperClassStatus= superClassChanged();                 
-      fieldName = PACKAGE;
-    } else if (field == fEnclosingTypeDialogField) {
-      //                       fEnclosingTypeStatus= enclosingTypeChanged();
-      fTypeNameStatus = typeNameChanged();
-      //                       fSuperClassStatus= superClassChanged();                         
-      fieldName = ENCLOSING;
-    } else if (field == fEnclosingTypeSelection) {
-      updateEnableState();
-      boolean isEnclosedType = isEnclosingTypeSelected();
-      if (!isEnclosedType) {
-        if (fAccMdfButtons.isSelected(PRIVATE_INDEX) || fAccMdfButtons.isSelected(PROTECTED_INDEX)) {
-          fAccMdfButtons.setSelection(PRIVATE_INDEX, false);
-          fAccMdfButtons.setSelection(PROTECTED_INDEX, false);
-          fAccMdfButtons.setSelection(PUBLIC_INDEX, true);
-        }
-        if (fOtherMdfButtons.isSelected(fStaticMdfIndex)) {
-          fOtherMdfButtons.setSelection(fStaticMdfIndex, false);
-        }
-      }
-      fAccMdfButtons.enableSelectionButton(PRIVATE_INDEX, isEnclosedType && fIsClass);
-      fAccMdfButtons.enableSelectionButton(PROTECTED_INDEX, isEnclosedType && fIsClass);
-      fOtherMdfButtons.enableSelectionButton(fStaticMdfIndex, isEnclosedType);
-      fTypeNameStatus = typeNameChanged();
-      //                       fSuperClassStatus= superClassChanged();
-      fieldName = ENCLOSINGSELECTION;
-    } else if (field == fTypeNameDialogField) {
-      fTypeNameStatus = typeNameChanged();
-      fieldName = TYPENAME;
-    } else if (field == fSuperClassDialogField) {
-      //                       fSuperClassStatus= superClassChanged();
-      fieldName = SUPER;
-    } else if (field == fSuperInterfacesDialogField) {
-      //                       fSuperInterfacesStatus= superInterfacesChanged();
-      fieldName = INTERFACES;
-    } else if (field == fOtherMdfButtons) {
-      fModifierStatus = modifiersChanged();
-      fieldName = MODIFIERS;
-    } else {
-      fieldName = METHODS;
-    }
-    // tell all others
-    handleFieldChanged(fieldName);
-  }
-
-  // -------- update message ----------------          
-
-  /*
-   * @see net.sourceforge.phpdt.ui.wizards.NewContainerWizardPage#handleFieldChanged(String)
-   */
-  protected void handleFieldChanged(String fieldName) {
-    super.handleFieldChanged(fieldName);
-    if (fieldName == CONTAINER) {
-      fPackageStatus = packageChanged();
-      //                       fEnclosingTypeStatus= enclosingTypeChanged();                   
-      fTypeNameStatus = typeNameChanged();
-      //                       fSuperClassStatus= superClassChanged();
-      //                       fSuperInterfacesStatus= superInterfacesChanged();
-    }
-  }
-
-  // ---- set / get ----------------
-
-  /**
-   * Returns the text of the package input field.
-   * 
-   * @return the text of the package input field
-   */
-  public String getPackageText() {
-    return fPackageDialogField.getText();
-  }
-
-  /**
-   * Returns the text of the enclosing type input field.
-   * 
-   * @return the text of the enclosing type input field
-   */
-  public String getEnclosingTypeText() {
-    return fEnclosingTypeDialogField.getText();
-  }
-
-  /**
-   * Returns the package fragment corresponding to the current input.
-   * 
-   * @return a package fragement or <code>null</code> if the input 
-   * could not be resolved.
-   */
-  public IPackageFragment getPackageFragment() {
-    if (!isEnclosingTypeSelected()) {
-      return fCurrPackage;
-    } else {
-      //                       if (fCurrEnclosingType != null) {
-      //                               return fCurrEnclosingType.getPackageFragment();
-      //                       }
-    }
-    return null;
-  }
-
-  /**
-   * Sets the package fragment to the given value. The method updates the model 
-   * and the text of the control.
-   * 
-   * @param pack the package fragement to be set
-   * @param canBeModified if <code>true</code> the package fragment is
-   * editable; otherwise it is read-only.
-   */
-  public void setPackageFragment(IPackageFragment pack, boolean canBeModified) {
-    fCurrPackage = pack;
-    fCanModifyPackage = canBeModified;
-    String str = (pack == null) ? "" : pack.getElementName(); //$NON-NLS-1$
-    fPackageDialogField.setText(str);
-    updateEnableState();
-  }
-
-  /**
-   * Returns the enclosing type corresponding to the current input.
-   * 
-   * @return the enclosing type or <code>null</code> if the enclosing type is 
-   * not selected or the input could not be resolved
-   */
-  public IType getEnclosingType() {
-    //         if (isEnclosingTypeSelected()) {
-    //                 return fCurrEnclosingType;
-    //         }
-    return null;
-  }
-
-  /**
-   * Sets the enclosing type. The method updates the underlying model 
-   * and the text of the control.
-   * 
-   * @param type the enclosing type
-   * @param canBeModified if <code>true</code> the enclosing type field is
-   * editable; otherwise it is read-only.
-   */
-  //   public void setEnclosingType(IType type, boolean canBeModified) {
-  //           fCurrEnclosingType= type;
-  //           fCanModifyEnclosingType= canBeModified;
-  //           String str= (type == null) ? "" : JavaModelUtil.getFullyQualifiedName(type); //$NON-NLS-1$
-  //           fEnclosingTypeDialogField.setText(str);
-  //           updateEnableState();
-  //   }
-
-  /**
-   * Returns the selection state of the enclosing type checkbox.
-   * 
-   * @return the seleciton state of the enclosing type checkbox
-   */
-  public boolean isEnclosingTypeSelected() {
-    return fEnclosingTypeSelection.isSelected();
-  }
-
-  /**
-   * Sets the enclosing type checkbox's selection state.
-   * 
-   * @param isSelected the checkbox's selection state
-   * @param canBeModified if <code>true</code> the enclosing type checkbox is
-   * modifiable; otherwise it is read-only.
-   */
-  public void setEnclosingTypeSelection(boolean isSelected, boolean canBeModified) {
-    fEnclosingTypeSelection.setSelection(isSelected);
-    fEnclosingTypeSelection.setEnabled(canBeModified);
-    updateEnableState();
-  }
-
-  /**
-   * Returns the type name entered into the type input field.
-   * 
-   * @return the type name
-   */
-  public String getTypeName() {
-    return fTypeNameDialogField.getText();
-  }
-
-  /**
-   * Sets the type name input field's text to the given value. Method doesn't update
-   * the model.
-   * 
-   * @param name the new type name
-   * @param canBeModified if <code>true</code> the enclosing type name field is
-   * editable; otherwise it is read-only.
-   */
-  public void setTypeName(String name, boolean canBeModified) {
-    fTypeNameDialogField.setText(name);
-    fTypeNameDialogField.setEnabled(canBeModified);
-  }
-
-  /**
-   * Returns the selected modifiers.
-   * 
-   * @return the selected modifiers
-   * @see Flags 
-   */
-  public int getModifiers() {
-    int mdf = 0;
-    if (fAccMdfButtons.isSelected(PUBLIC_INDEX)) {
-      mdf += F_PUBLIC;
-    } else if (fAccMdfButtons.isSelected(PRIVATE_INDEX)) {
-      mdf += F_PRIVATE;
-    } else if (fAccMdfButtons.isSelected(PROTECTED_INDEX)) {
-      mdf += F_PROTECTED;
-    }
-    //         if (fOtherMdfButtons.isSelected(ABSTRACT_INDEX) && (fStaticMdfIndex != 0)) {    
-    //                 mdf+= F_ABSTRACT;
-    //         }
-    if (fOtherMdfButtons.isSelected(FINAL_INDEX)) {
-      mdf += F_FINAL;
-    }
-    if (fOtherMdfButtons.isSelected(fStaticMdfIndex)) {
-      mdf += F_STATIC;
-    }
-    return mdf;
-  }
-
-  /**
-   * Sets the modifiers.
-   * 
-   * @param modifiers <code>F_PUBLIC</code>, <code>F_PRIVATE</code>, 
-   * <code>F_PROTECTED</code>, <code>F_ABSTRACT, F_FINAL</code>
-   * or <code>F_STATIC</code> or, a valid combination.
-   * @param canBeModified if <code>true</code> the modifier fields are
-   * editable; otherwise they are read-only
-   * @see Flags 
-   */
-  public void setModifiers(int modifiers, boolean canBeModified) {
-    if (Flags.isPublic(modifiers)) {
-      fAccMdfButtons.setSelection(PUBLIC_INDEX, true);
-    } else if (Flags.isPrivate(modifiers)) {
-      fAccMdfButtons.setSelection(PRIVATE_INDEX, true);
-    } else if (Flags.isProtected(modifiers)) {
-      fAccMdfButtons.setSelection(PROTECTED_INDEX, true);
-    } else {
-      fAccMdfButtons.setSelection(DEFAULT_INDEX, true);
-    }
-    //         if (Flags.isAbstract(modifiers)) {
-    //                 fOtherMdfButtons.setSelection(ABSTRACT_INDEX, true);
-    //         }
-    if (Flags.isFinal(modifiers)) {
-      fOtherMdfButtons.setSelection(FINAL_INDEX, true);
-    }
-    if (Flags.isStatic(modifiers)) {
-      fOtherMdfButtons.setSelection(fStaticMdfIndex, true);
-    }
-
-    fAccMdfButtons.setEnabled(canBeModified);
-    fOtherMdfButtons.setEnabled(canBeModified);
-  }
-
-  /**
-   * Returns the content of the superclass input field.
-   * 
-   * @return the superclass name
-   */
-  public String getSuperClass() {
-    return fSuperClassDialogField.getText();
-  }
-
-  /**
-   * Sets the super class name.
-   * 
-   * @param name the new superclass name
-   * @param canBeModified  if <code>true</code> the superclass name field is
-   * editable; otherwise it is read-only.
-   */
-  public void setSuperClass(String name, boolean canBeModified) {
-    fSuperClassDialogField.setText(name);
-    fSuperClassDialogField.setEnabled(canBeModified);
-  }
-
-  /**
-   * Returns the chosen super interfaces.
-   * 
-   * @return a list of chosen super interfaces. The list's elements
-   * are of type <code>String</code>
-   */
-  public List getSuperInterfaces() {
-    return fSuperInterfacesDialogField.getElements();
-  }
-
-  /**
-   * Sets the super interfaces.
-   * 
-   * @param interfacesNames a list of super interface. The method requires that
-   * the list's elements are of type <code>String</code>
-   * @param canBeModified if <code>true</code> the super interface field is
-   * editable; otherwise it is read-only.
-   */
-  public void setSuperInterfaces(List interfacesNames, boolean canBeModified) {
-    fSuperInterfacesDialogField.setElements(interfacesNames);
-    fSuperInterfacesDialogField.setEnabled(canBeModified);
-  }
-
-  // ----------- validation ----------
-
-  /**
-   * A hook method that gets called when the package field has changed. The method 
-   * validates the package name and returns the status of the validation. The validation
-   * also updates the package fragment model.
-   * <p>
-   * Subclasses may extend this method to perform their own validation.
-   * </p>
-   * 
-   * @return the status of the validation
-   */
-  protected IStatus packageChanged() {
-    StatusInfo status = new StatusInfo();
-    fPackageDialogField.enableButton(getPackageFragmentRoot() != null);
-
-    //         String packName= getPackageText();
-    //         if (packName.length() > 0) {
-    //                 IStatus val= JavaConventions.validatePackageName(packName);
-    //                 if (val.getSeverity() == IStatus.ERROR) {
-    //                         status.setError(NewWizardMessages.getFormattedString("NewTypeWizardPage.error.InvalidPackageName", val.getMessage())); //$NON-NLS-1$
-    //                         return status;
-    //                 } else if (val.getSeverity() == IStatus.WARNING) {
-    //                         status.setWarning(NewWizardMessages.getFormattedString("NewTypeWizardPage.warning.DiscouragedPackageName", val.getMessage())); //$NON-NLS-1$
-    //                         // continue
-    //                 }
-    //         }
-
-    //         IPackageFragmentRoot root= getPackageFragmentRoot();
-    //         if (root != null) {
-    //                 if (root.getJavaProject().exists() && packName.length() > 0) {
-    //                         try {
-    //                                 IPath rootPath= root.getPath();
-    //                                 IPath outputPath= root.getJavaProject().getOutputLocation();
-    //                                 if (rootPath.isPrefixOf(outputPath) && !rootPath.equals(outputPath)) {
-    //                                         // if the bin folder is inside of our root, dont allow to name a package
-    //                                         // like the bin folder
-    //                                         IPath packagePath= rootPath.append(packName.replace('.', '/'));
-    //                                         if (outputPath.isPrefixOf(packagePath)) {
-    //                                                 status.setError(NewWizardMessages.getString("NewTypeWizardPage.error.ClashOutputLocation")); //$NON-NLS-1$
-    //                                                 return status;
-    //                                         }
-    //                                 }
-    //                         } catch (JavaModelException e) {
-    //                                 PHPeclipsePlugin.log(e);
-    //                                 // let pass                     
-    //                         }
-    //                 }
-    //                 
-    //                 fCurrPackage= root.getPackageFragment(packName);
-    //         } else {
-    //                 status.setError(""); //$NON-NLS-1$
-    //         }
-    return status;
-  }
-
-  /*
-   * Updates the 'default' label next to the package field.
-   */
-  private void updatePackageStatusLabel() {
-    String packName = getPackageText();
-
-    if (packName.length() == 0) {
-      fPackageDialogField.setStatus(NewWizardMessages.getString("NewTypeWizardPage.default")); //$NON-NLS-1$
-    } else {
-      fPackageDialogField.setStatus(""); //$NON-NLS-1$
-    }
-  }
-
-  /*
-   * Updates the enable state of buttons related to the enclosing type selection checkbox.
-   */
-  private void updateEnableState() {
-    boolean enclosing = isEnclosingTypeSelected();
-    fPackageDialogField.setEnabled(fCanModifyPackage && !enclosing);
-    fEnclosingTypeDialogField.setEnabled(fCanModifyEnclosingType && enclosing);
-  }
-
-  /**
-   * Hook method that gets called when the enclosing type name has changed. The method 
-   * validates the enclosing type and returns the status of the validation. It also updates the 
-   * enclosing type model.
-   * <p>
-   * Subclasses may extend this method to perform their own validation.
-   * </p>
-   * 
-   * @return the status of the validation
-   */
-  //   protected IStatus enclosingTypeChanged() {
-  //           StatusInfo status= new StatusInfo();
-  //           fCurrEnclosingType= null;
-  //           
-  //           IPackageFragmentRoot root= getPackageFragmentRoot();
-  //           
-  //           fEnclosingTypeDialogField.enableButton(root != null);
-  //           if (root == null) {
-  //                   status.setError(""); //$NON-NLS-1$
-  //                   return status;
-  //           }
-  //           
-  //           String enclName= getEnclosingTypeText();
-  //           if (enclName.length() == 0) {
-  //                   status.setError(NewWizardMessages.getString("NewTypeWizardPage.error.EnclosingTypeEnterName")); //$NON-NLS-1$
-  //                   return status;
-  //           }
-  //           try {
-  //                   IType type= findType(root.getJavaProject(), enclName);
-  //                   if (type == null) {
-  //                           status.setError(NewWizardMessages.getString("NewTypeWizardPage.error.EnclosingTypeNotExists")); //$NON-NLS-1$
-  //                           return status;
-  //                   }
-  //
-  //                   if (type.getCompilationUnit() == null) {
-  //                           status.setError(NewWizardMessages.getString("NewTypeWizardPage.error.EnclosingNotInCU")); //$NON-NLS-1$
-  //                           return status;
-  //                   }
-  //                   if (!JavaModelUtil.isEditable(type.getCompilationUnit())) {
-  //                           status.setError(NewWizardMessages.getString("NewTypeWizardPage.error.EnclosingNotEditable")); //$NON-NLS-1$
-  //                           return status;                  
-  //                   }
-  //                   
-  //                   fCurrEnclosingType= type;
-  //                   IPackageFragmentRoot enclosingRoot= JavaModelUtil.getPackageFragmentRoot(type);
-  //                   if (!enclosingRoot.equals(root)) {
-  //                           status.setWarning(NewWizardMessages.getString("NewTypeWizardPage.warning.EnclosingNotInSourceFolder")); //$NON-NLS-1$
-  //                   }
-  //                   return status;
-  //           } catch (JavaModelException e) {
-  //                   status.setError(NewWizardMessages.getString("NewTypeWizardPage.error.EnclosingTypeNotExists")); //$NON-NLS-1$
-  //                   PHPeclipsePlugin.log(e);
-  //                   return status;
-  //           }
-  //   }
-
-  /**
-   * Hook method that gets called when the type name has changed. The method validates the 
-   * type name and returns the status of the validation.
-   * <p>
-   * Subclasses may extend this method to perform their own validation.
-   * </p>
-   * 
-   * @return the status of the validation
-   */
-  protected IStatus typeNameChanged() {
-    StatusInfo status = new StatusInfo();
-    String typeName = getTypeName();
-    // must not be empty
-    if (typeName.length() == 0) {
-      status.setError(NewWizardMessages.getString("NewTypeWizardPage.error.EnterTypeName")); //$NON-NLS-1$
-      return status;
-    }
-    if (typeName.indexOf('.') != -1) {
-      status.setError(NewWizardMessages.getString("NewTypeWizardPage.error.QualifiedName")); //$NON-NLS-1$
-      return status;
-    }
-    //         IStatus val= JavaConventions.validateJavaTypeName(typeName);
-    //         if (val.getSeverity() == IStatus.ERROR) {
-    //                 status.setError(NewWizardMessages.getFormattedString("NewTypeWizardPage.error.InvalidTypeName", val.getMessage())); //$NON-NLS-1$
-    //                 return status;
-    //         } else if (val.getSeverity() == IStatus.WARNING) {
-    //                 status.setWarning(NewWizardMessages.getFormattedString("NewTypeWizardPage.warning.TypeNameDiscouraged", val.getMessage())); //$NON-NLS-1$
-    //                 // continue checking
-    //         }               
-
-    // must not exist
-    if (!isEnclosingTypeSelected()) {
-      IPackageFragment pack = getPackageFragment();
-      if (pack != null) {
-        ICompilationUnit cu = pack.getCompilationUnit(typeName + ".java"); //$NON-NLS-1$
-        if (cu.getResource().exists()) {
-          status.setError(NewWizardMessages.getString("NewTypeWizardPage.error.TypeNameExists")); //$NON-NLS-1$
-          return status;
-        }
-      }
-    } else {
-      IType type = getEnclosingType();
-      if (type != null) {
-        IType member = type.getType(typeName);
-        if (member.exists()) {
-          status.setError(NewWizardMessages.getString("NewTypeWizardPage.error.TypeNameExists")); //$NON-NLS-1$
-          return status;
-        }
-      }
-    }
-    return status;
-  }
-
-  /**
-   * Hook method that gets called when the superclass name has changed. The method 
-   * validates the superclass name and returns the status of the validation.
-   * <p>
-   * Subclasses may extend this method to perform their own validation.
-   * </p>
-   * 
-   * @return the status of the validation
-   */
-  //   protected IStatus superClassChanged() {
-  //           StatusInfo status= new StatusInfo();
-  //           IPackageFragmentRoot root= getPackageFragmentRoot();
-  //           fSuperClassDialogField.enableButton(root != null);
-  //           
-  //           fSuperClass= null;
-  //           
-  //           String sclassName= getSuperClass();
-  //           if (sclassName.length() == 0) {
-  //                   // accept the empty field (stands for java.lang.Object)
-  //                   return status;
-  //           }
-  //           IStatus val= JavaConventions.validateJavaTypeName(sclassName);
-  //           if (val.getSeverity() == IStatus.ERROR) {
-  //                   status.setError(NewWizardMessages.getString("NewTypeWizardPage.error.InvalidSuperClassName")); //$NON-NLS-1$
-  //                   return status;
-  //           } 
-  //           if (root != null) {
-  //                   try {           
-  //                           IType type= resolveSuperTypeName(root.getJavaProject(), sclassName);
-  //                           if (type == null) {
-  //                                   status.setWarning(NewWizardMessages.getString("NewTypeWizardPage.warning.SuperClassNotExists")); //$NON-NLS-1$
-  //                                   return status;
-  //                           } else {
-  //                                   if (type.isInterface()) {
-  //                                           status.setWarning(NewWizardMessages.getFormattedString("NewTypeWizardPage.warning.SuperClassIsNotClass", sclassName)); //$NON-NLS-1$
-  //                                           return status;
-  //                                   }
-  //                                   int flags= type.getFlags();
-  //                                   if (Flags.isFinal(flags)) {
-  //                                           status.setWarning(NewWizardMessages.getFormattedString("NewTypeWizardPage.warning.SuperClassIsFinal", sclassName)); //$NON-NLS-1$
-  //                                           return status;
-  //                                   } else if (!JavaModelUtil.isVisible(type, getPackageFragment())) {
-  //                                           status.setWarning(NewWizardMessages.getFormattedString("NewTypeWizardPage.warning.SuperClassIsNotVisible", sclassName)); //$NON-NLS-1$
-  //                                           return status;
-  //                                   }
-  //                           }
-  //                           fSuperClass= type;
-  //                   } catch (JavaModelException e) {
-  //                           status.setError(NewWizardMessages.getString("NewTypeWizardPage.error.InvalidSuperClassName")); //$NON-NLS-1$
-  //                           PHPeclipsePlugin.log(e);
-  //                   }                                                       
-  //           } else {
-  //                   status.setError(""); //$NON-NLS-1$
-  //           }
-  //           return status;
-  //           
-  //   }
-
-  //   private IType resolveSuperTypeName(IJavaProject jproject, String sclassName) throws JavaModelException {
-  //           if (!jproject.exists()) {
-  //                   return null;
-  //           }
-  //           IType type= null;
-  //           if (isEnclosingTypeSelected()) {
-  //                   // search in the context of the enclosing type
-  //                   IType enclosingType= getEnclosingType();
-  //                   if (enclosingType != null) {
-  //                           String[][] res= enclosingType.resolveType(sclassName);
-  //                           if (res != null && res.length > 0) {
-  //                                   type= jproject.findType(res[0][0], res[0][1]);
-  //                           }
-  //                   }
-  //           } else {
-  //                   IPackageFragment currPack= getPackageFragment();
-  //                   if (type == null && currPack != null) {
-  //                           String packName= currPack.getElementName();
-  //                           // search in own package
-  //                           if (!currPack.isDefaultPackage()) {
-  //                                   type= jproject.findType(packName, sclassName);
-  //                           }
-  //                           // search in java.lang
-  //                           if (type == null && !"java.lang".equals(packName)) { //$NON-NLS-1$
-  //                                   type= jproject.findType("java.lang", sclassName); //$NON-NLS-1$
-  //                           }
-  //                   }
-  //                   // search fully qualified
-  //                   if (type == null) {
-  //                           type= jproject.findType(sclassName);
-  //                   }
-  //           }
-  //           return type;
-  //   }
-
-  //   private IType findType(IJavaProject project, String typeName) throws JavaModelException {
-  //           if (project.exists()) {
-  //                   return project.findType(typeName);
-  //           }
-  //           return null;
-  //   }
-
-  /**
-   * Hook method that gets called when the list of super interface has changed. The method 
-   * validates the superinterfaces and returns the status of the validation.
-   * <p>
-   * Subclasses may extend this method to perform their own validation.
-   * </p>
-   * 
-   * @return the status of the validation
-   */
-  //   protected IStatus superInterfacesChanged() {
-  //           StatusInfo status= new StatusInfo();
-  //           
-  //           IPackageFragmentRoot root= getPackageFragmentRoot();
-  //           fSuperInterfacesDialogField.enableButton(0, root != null);
-  //                                           
-  //           if (root != null) {
-  //                   List elements= fSuperInterfacesDialogField.getElements();
-  //                   int nElements= elements.size();
-  //                   for (int i= 0; i < nElements; i++) {
-  //                           String intfname= (String)elements.get(i);
-  //                           try {
-  //                                   IType type= findType(root.getJavaProject(), intfname);
-  //                                   if (type == null) {
-  //                                           status.setWarning(NewWizardMessages.getFormattedString("NewTypeWizardPage.warning.InterfaceNotExists", intfname)); //$NON-NLS-1$
-  //                                           return status;
-  //                                   } else {
-  //                                           if (type.isClass()) {
-  //                                                   status.setWarning(NewWizardMessages.getFormattedString("NewTypeWizardPage.warning.InterfaceIsNotInterface", intfname)); //$NON-NLS-1$
-  //                                                   return status;
-  //                                           }
-  //                                           if (!JavaModelUtil.isVisible(type, getPackageFragment())) {
-  //                                                   status.setWarning(NewWizardMessages.getFormattedString("NewTypeWizardPage.warning.InterfaceIsNotVisible", intfname)); //$NON-NLS-1$
-  //                                                   return status;
-  //                                           }
-  //                                   }
-  //                           } catch (JavaModelException e) {
-  //                                   PHPeclipsePlugin.log(e);
-  //                                   // let pass, checking is an extra
-  //                           }                                       
-  //                   }                               
-  //           }
-  //           return status;
-  //   }
-
-  /**
-   * Hook method that gets called when the modifiers have changed. The method validates 
-   * the modifiers and returns the status of the validation.
-   * <p>
-   * Subclasses may extend this method to perform their own validation.
-   * </p>
-   * 
-   * @return the status of the validation
-   */
-  protected IStatus modifiersChanged() {
-    StatusInfo status = new StatusInfo();
-    int modifiers = getModifiers();
-    //         if (Flags.isFinal(modifiers) && Flags.isAbstract(modifiers)) {
-    //                 status.setError(NewWizardMessages.getString("NewTypeWizardPage.error.ModifiersFinalAndAbstract")); //$NON-NLS-1$
-    //         }
-    return status;
-  }
-
-  // selection dialogs
-
-  //   private IPackageFragment choosePackage() {
-  //           IPackageFragmentRoot froot= getPackageFragmentRoot();
-  //           IJavaElement[] packages= null;
-  //           try {
-  //                   if (froot != null && froot.exists()) {
-  //                           packages= froot.getChildren();
-  //                   }
-  //           } catch (JavaModelException e) {
-  //                   PHPeclipsePlugin.log(e);
-  //           }
-  //           if (packages == null) {
-  //                   packages= new IJavaElement[0];
-  //           }
-  //           
-  //           ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT));
-  //           dialog.setIgnoreCase(false);
-  //           dialog.setTitle(NewWizardMessages.getString("NewTypeWizardPage.ChoosePackageDialog.title")); //$NON-NLS-1$
-  //           dialog.setMessage(NewWizardMessages.getString("NewTypeWizardPage.ChoosePackageDialog.description")); //$NON-NLS-1$
-  //           dialog.setEmptyListMessage(NewWizardMessages.getString("NewTypeWizardPage.ChoosePackageDialog.empty")); //$NON-NLS-1$
-  //           dialog.setElements(packages);
-  //           IPackageFragment pack= getPackageFragment();
-  //           if (pack != null) {
-  //                   dialog.setInitialSelections(new Object[] { pack });
-  //           }
-  //
-  //           if (dialog.open() == ElementListSelectionDialog.OK) {
-  //                   return (IPackageFragment) dialog.getFirstResult();
-  //           }
-  //           return null;
-  //   }
-
-  //   private IType chooseEnclosingType() {
-  //           IPackageFragmentRoot root= getPackageFragmentRoot();
-  //           if (root == null) {
-  //                   return null;
-  //           }
-  //           
-  //           IJavaSearchScope scope= SearchEngine.createJavaSearchScope(new IJavaElement[] { root });
-  //   
-  //           TypeSelectionDialog dialog= new TypeSelectionDialog(getShell(), getWizard().getContainer(), IJavaSearchConstants.TYPE, scope);
-  //           dialog.setTitle(NewWizardMessages.getString("NewTypeWizardPage.ChooseEnclosingTypeDialog.title")); //$NON-NLS-1$
-  //           dialog.setMessage(NewWizardMessages.getString("NewTypeWizardPage.ChooseEnclosingTypeDialog.description")); //$NON-NLS-1$
-  //           dialog.setFilter(Signature.getSimpleName(getEnclosingTypeText()));
-  //           
-  //           if (dialog.open() == TypeSelectionDialog.OK) {  
-  //                   return (IType) dialog.getFirstResult();
-  //           }
-  //           return null;
-  //   }       
-
-  //   private IType chooseSuperType() {
-  //           IPackageFragmentRoot root= getPackageFragmentRoot();
-  //           if (root == null) {
-  //                   return null;
-  //           }       
-  //           
-  //           IJavaElement[] elements= new IJavaElement[] { root.getJavaProject() };
-  //           IJavaSearchScope scope= SearchEngine.createJavaSearchScope(elements);
-  //
-  //           TypeSelectionDialog dialog= new TypeSelectionDialog(getShell(), getWizard().getContainer(), IJavaSearchConstants.CLASS, scope);
-  //           dialog.setTitle(NewWizardMessages.getString("NewTypeWizardPage.SuperClassDialog.title")); //$NON-NLS-1$
-  //           dialog.setMessage(NewWizardMessages.getString("NewTypeWizardPage.SuperClassDialog.message")); //$NON-NLS-1$
-  //           dialog.setFilter(getSuperClass());
-  //
-  //           if (dialog.open() == TypeSelectionDialog.OK) {
-  //                   return (IType) dialog.getFirstResult();
-  //           }
-  //           return null;
-  //   }
-
-  //   private void chooseSuperInterfaces() {
-  //           IPackageFragmentRoot root= getPackageFragmentRoot();
-  //           if (root == null) {
-  //                   return;
-  //           }       
-  //
-  //           IJavaProject project= root.getJavaProject();
-  //           SuperInterfaceSelectionDialog dialog= new SuperInterfaceSelectionDialog(getShell(), getWizard().getContainer(), fSuperInterfacesDialogField, project);
-  //           dialog.setTitle(fIsClass ? NewWizardMessages.getString("NewTypeWizardPage.InterfacesDialog.class.title") : NewWizardMessages.getString("NewTypeWizardPage.InterfacesDialog.interface.title")); //$NON-NLS-1$ //$NON-NLS-2$
-  //           dialog.setMessage(NewWizardMessages.getString("NewTypeWizardPage.InterfacesDialog.message")); //$NON-NLS-1$
-  //           dialog.open();
-  //           return;
-  //   }       
-
-  // ---- creation ----------------
-
-  /**
-   * Creates the new type using the entered field values.
-   * 
-   * @param monitor a progress monitor to report progress.
-   */
-  public void createType(IProgressMonitor monitor) throws CoreException, InterruptedException {
-    if (monitor == null) {
-      monitor = new NullProgressMonitor();
-    }
-
-    monitor.beginTask(NewWizardMessages.getString("NewTypeWizardPage.operationdesc"), 10); //$NON-NLS-1$
-    ICompilationUnit createdWorkingCopy = null;
-    try {
-//      IPackageFragmentRoot root = getPackageFragmentRoot();
-//      IPackageFragment pack = getPackageFragment();
-//      if (pack == null) {
-//        pack = root.getPackageFragment(""); //$NON-NLS-1$
-//      }
-//
-//      if (!pack.exists()) {
-//        String packName = pack.getElementName();
-//        pack = root.createPackageFragment(packName, true, null);
-//      }
-
-      monitor.worked(1);
-
-      String clName = getTypeName();
-
-      boolean isInnerClass = isEnclosingTypeSelected();
-
-      IType createdType;
-//      ImportsStructure imports;
-      int indent = 0;
-
-      IPreferenceStore store = PreferenceConstants.getPreferenceStore();
-//      String[] prefOrder = JavaPreferencesSettings.getImportOrderPreference(store);
-//      int threshold = JavaPreferencesSettings.getImportNumberThreshold(store);
-//
-      String lineDelimiter = null;
-//      if (!isInnerClass) {
-        lineDelimiter = System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-//
-//         ICompilationUnit parentCU = pack.createCompilationUnit(clName + ".php", "", false, new SubProgressMonitor(monitor, 2)); //$NON-NLS-1$ //$NON-NLS-2$
-//        createdWorkingCopy = (ICompilationUnit) parentCU.getSharedWorkingCopy(null, JavaUI.getBufferFactory(), null);
-//
-//        imports = new ImportsStructure(createdWorkingCopy, prefOrder, threshold, false);
-//        // add an import that will be removed again. Having this import solves 14661
-//        imports.addImport(pack.getElementName(), getTypeName());
-//
-          String typeContent = constructTypeStub(lineDelimiter);//new ImportsManager(imports), lineDelimiter);
-
-//        String cuContent = constructCUContent(parentCU, typeContent, lineDelimiter);
-
-//        createdWorkingCopy.getBuffer().setContents(cuContent);
-//
-        createdType = createdWorkingCopy.getType(clName);
-//      } else {
-//        IType enclosingType = getEnclosingType();
-//
-//        // if we are working on a enclosed type that is open in an editor,
-//        // then replace the enclosing type with its working copy
-//        IType workingCopy = (IType) EditorUtility.getWorkingCopy(enclosingType);
-//        if (workingCopy != null) {
-//          enclosingType = workingCopy;
-//        }
-//
-//        ICompilationUnit parentCU = enclosingType.getCompilationUnit();
-//        imports = new ImportsStructure(parentCU, prefOrder, threshold, true);
-//
-//        // add imports that will be removed again. Having the imports solves 14661
-//        IType[] topLevelTypes = parentCU.getTypes();
-//        for (int i = 0; i < topLevelTypes.length; i++) {
-//          imports.addImport(topLevelTypes[i].getFullyQualifiedName('.'));
-//        }
-//
-//        lineDelimiter = StubUtility.getLineDelimiterUsed(enclosingType);
-//        StringBuffer content = new StringBuffer();
-//        String comment = getTypeComment(parentCU);
-//        if (comment != null) {
-//          content.append(comment);
-//          content.append(lineDelimiter);
-//        }
-//        content.append(constructTypeStub(new ImportsManager(imports), lineDelimiter));
-//        IJavaElement[] elems = enclosingType.getChildren();
-//        IJavaElement sibling = elems.length > 0 ? elems[0] : null;
-//
-//        createdType = enclosingType.createType(content.toString(), sibling, false, new SubProgressMonitor(monitor, 1));
-//
-//        indent = StubUtility.getIndentUsed(enclosingType) + 1;
-//      }
-//
-//      // add imports for superclass/interfaces, so types can be resolved correctly
-//      imports.create(false, new SubProgressMonitor(monitor, 1));
-//
-      ICompilationUnit cu = createdType.getCompilationUnit();
-      synchronized (cu) {
-        cu.reconcile();
-      }
-//      createTypeMembers(createdType, new ImportsManager(imports), new SubProgressMonitor(monitor, 1));
-//
-//      // add imports
-//      imports.create(false, new SubProgressMonitor(monitor, 1));
-
-      synchronized (cu) {
-        cu.reconcile();
-      }
-      ISourceRange range = createdType.getSourceRange();
-
-      IBuffer buf = cu.getBuffer();
-      String originalContent = buf.getText(range.getOffset(), range.getLength());
-      String formattedContent = StubUtility.codeFormat(originalContent, indent, lineDelimiter);
-      buf.replace(range.getOffset(), range.getLength(), formattedContent);
-      if (!isInnerClass) {
-        String fileComment = getFileComment(cu);
-        if (fileComment != null && fileComment.length() > 0) {
-          buf.replace(0, 0, fileComment + lineDelimiter);
-        }
-        cu.commit(false, new SubProgressMonitor(monitor, 1));
-      } else {
-        monitor.worked(1);
-      }
-      fCreatedType = createdType;
-    } finally {
-      if (createdWorkingCopy != null) {
-        createdWorkingCopy.destroy();
-      }
-      monitor.done();
-    }
-  }
-
-  /**
-   * Uses the New Java file template from the code template page to generate a
-   * compilation unit with the given type content.
-   * @param cu The new created compilation unit
-   * @param typeContent The content of the type, including signature and type
-   * body.
-   * @param lineDelimiter The line delimiter to be used.
-   * @return String Returns the result of evaluating the new file template
-   * with the given type content.
-   * @throws CoreException
-   * @since 2.1
-   */
-  //   protected String constructCUContent(ICompilationUnit cu, String typeContent, String lineDelimiter) throws CoreException {
-  //           StringBuffer typeQualifiedName= new StringBuffer();
-  //           if (isEnclosingTypeSelected()) {
-  //                   typeQualifiedName.append(JavaModelUtil.getTypeQualifiedName(getEnclosingType())).append('.');
-  //           }
-  //           typeQualifiedName.append(getTypeName());
-  //           String typeComment= CodeGeneration.getTypeComment(cu, typeQualifiedName.toString(), lineDelimiter);
-  //           IPackageFragment pack= (IPackageFragment) cu.getParent();
-  //           String content= CodeGeneration.getCompilationUnitContent(cu, typeComment, typeContent, lineDelimiter);
-  //           if (content != null) {
-  //                   CompilationUnit unit= AST.parseCompilationUnit(content.toCharArray());
-  //                   if ((pack.isDefaultPackage() || unit.getPackage() != null) && !unit.types().isEmpty()) {
-  //                           return content;
-  //                   }
-  //           }
-  //           StringBuffer buf= new StringBuffer();
-  //           if (!pack.isDefaultPackage()) {
-  //                   buf.append("package ").append(pack.getElementName()).append(';'); //$NON-NLS-1$
-  //           }
-  //           buf.append(lineDelimiter).append(lineDelimiter);
-  //           if (typeComment != null) {
-  //                   buf.append(typeComment).append(lineDelimiter);
-  //           }
-  //           buf.append(typeContent);
-  //           return buf.toString();
-  //   }
-
-  /**
-   * Returns the created type. The method only returns a valid type 
-   * after <code>createType</code> has been called.
-   * 
-   * @return the created type
-   * @see #createType(IProgressMonitor)
-   */
-       public IType getCreatedType() {
-               return fCreatedType;
-       }
-
-  // ---- construct cu body----------------
-
-  //   private void writeSuperClass(StringBuffer buf, ImportsManager imports) {
-  //           String typename= getSuperClass();
-  //           if (fIsClass && typename.length() > 0 && !"java.lang.Object".equals(typename)) { //$NON-NLS-1$
-  //                   buf.append(" extends "); //$NON-NLS-1$
-  //                   
-  //                   String qualifiedName= fSuperClass != null ? JavaModelUtil.getFullyQualifiedName(fSuperClass) : typename; 
-  //                   buf.append(imports.addImport(qualifiedName));
-  //           }
-  //   }
-
-  //   private void writeSuperInterfaces(StringBuffer buf, ImportsManager imports) {
-  //           List interfaces= getSuperInterfaces();
-  //           int last= interfaces.size() - 1;
-  //           if (last >= 0) {
-  //                   if (fIsClass) {
-  //                           buf.append(" implements "); //$NON-NLS-1$
-  //                   } else {
-  //                           buf.append(" extends "); //$NON-NLS-1$
-  //                   }
-  //                   for (int i= 0; i <= last; i++) {
-  //                           String typename= (String) interfaces.get(i);
-  //                           buf.append(imports.addImport(typename));
-  //                           if (i < last) {
-  //                                   buf.append(',');
-  //                           }
-  //                   }
-  //           }
-  //   }
-
-  /*
-   * Called from createType to construct the source for this type
-   */
-       private String constructTypeStub(String lineDelimiter) { // ImportsManager imports, String lineDelimiter) {     
-               StringBuffer buf= new StringBuffer();
-                       
-               int modifiers= getModifiers();
-               buf.append(Flags.toString(modifiers));
-               if (modifiers != 0) {
-                       buf.append(' ');
-               }
-               buf.append(fIsClass ? "class " : "interface "); //$NON-NLS-2$ //$NON-NLS-1$
-               buf.append(getTypeName());
-//             writeSuperClass(buf, imports);
-//             writeSuperInterfaces(buf, imports);     
-               buf.append('{');
-               buf.append(lineDelimiter);
-               buf.append(lineDelimiter);
-               buf.append('}');
-               buf.append(lineDelimiter);
-               return buf.toString();
-       }
-
-  /**
-   * @deprecated Overwrite createTypeMembers(IType, IImportsManager, IProgressMonitor) instead
-   */
-  //   protected void createTypeMembers(IType newType, IImportsStructure imports, IProgressMonitor monitor) throws CoreException {
-  //           //deprecated
-  //   }
-
-  /**
-   * Hook method that gets called from <code>createType</code> to support adding of 
-   * unanticipated methods, fields, and inner types to the created type.
-   * <p>
-   * Implementers can use any methods defined on <code>IType</code> to manipulate the
-   * new type.
-   * </p>
-   * <p>
-   * The source code of the new type will be formtted using the platform's formatter. Needed 
-   * imports are added by the wizard at the end of the type creation process using the given 
-   * import manager.
-   * </p>
-   * 
-   * @param newType the new type created via <code>createType</code>
-   * @param imports an import manager which can be used to add new imports
-   * @param monitor a progress monitor to report progress. Must not be <code>null</code>
-   * 
-   * @see #createType(IProgressMonitor)
-   */
-  //   protected void createTypeMembers(IType newType, ImportsManager imports, IProgressMonitor monitor) throws CoreException {
-  //           // call for compatibility
-  //           createTypeMembers(newType, ((ImportsManager)imports).getImportsStructure(), monitor);
-  //           
-  //           // default implementation does nothing
-  //           // example would be
-  //           // String mainMathod= "public void foo(Vector vec) {}"
-  //           // createdType.createMethod(main, null, false, null);
-  //           // imports.addImport("java.lang.Vector");
-  //   }       
-
-  /**
-   * @deprecated Instead of file templates, the new type code template
-   * specifies the stub for a compilation unit.
-   */
-  protected String getFileComment(ICompilationUnit parentCU) {
-    return null;
-  }
-
-  private boolean isValidComment(String template) {
-    IScanner scanner = ToolFactory.createScanner(true, false, false); //, false);
-    scanner.setSource(template.toCharArray());
-    try {
-      int next = scanner.getNextToken();
-      while (next == ITerminalSymbols.TokenNameCOMMENT_LINE
-        || next == ITerminalSymbols.TokenNameCOMMENT_PHPDOC
-        || next == ITerminalSymbols.TokenNameCOMMENT_BLOCK) {
-        next = scanner.getNextToken();
-      }
-      return next == ITerminalSymbols.TokenNameEOF;
-    } catch (InvalidInputException e) {
-    }
-    return false;
-  }
-
-  /**
-   * Hook method that gets called from <code>createType</code> to retrieve 
-   * a type comment. This default implementation returns the content of the 
-   * 'typecomment' template.
-   * 
-   * @return the type comment or <code>null</code> if a type comment 
-   * is not desired
-   */
-       protected String getTypeComment(ICompilationUnit parentCU) {
-               if (PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.CODEGEN_ADD_COMMENTS)) {
-                       try {
-                               StringBuffer typeName= new StringBuffer();
-                               if (isEnclosingTypeSelected()) {
-                                       typeName.append(JavaModelUtil.getTypeQualifiedName(getEnclosingType())).append('.');
-                               }
-                               typeName.append(getTypeName());
-                               String comment= CodeGeneration.getTypeComment(parentCU, typeName.toString(), String.valueOf('\n'));
-                               if (comment != null && isValidComment(comment)) {
-                                       return comment;
-                               }
-                       } catch (CoreException e) {
-                               PHPeclipsePlugin.log(e);
-                       }
-               }
-               return null;
-       }
-
-  /**
-   * @deprecated Use getTemplate(String,ICompilationUnit,int)
-   */
-  protected String getTemplate(String name, ICompilationUnit parentCU) {
-    return getTemplate(name, parentCU, 0);
-  }
-
-  /**
-   * Returns the string resulting from evaluation the given template in
-   * the context of the given compilation unit. This accesses the normal
-   * template page, not the code templates. To use code templates use
-   * <code>constructCUContent</code> to construct a compilation unit stub or
-   * getTypeComment for the comment of the type.
-   * 
-   * @param name the template to be evaluated
-   * @param parentCU the templates evaluation context
-   * @param pos a source offset into the parent compilation unit. The
-   * template is evalutated at the given source offset
-   */
-  protected String getTemplate(String name, ICompilationUnit parentCU, int pos) {
-    try {
-      Template[] templates = Templates.getInstance().getTemplates(name);
-      if (templates.length > 0) {
-          return JavaContext.evaluateTemplate(templates[0], parentCU, pos);
-      }
-    } catch (CoreException e) {
-      PHPeclipsePlugin.log(e);
-    } catch (BadLocationException e1) {
-      // TODO Auto-generated catch block
-      e1.printStackTrace();
-    } catch (TemplateException e1) {
-      // TODO Auto-generated catch block
-      e1.printStackTrace();
-    }
-    return null;
-  }
-
-  /**
-   * @deprecated Use createInheritedMethods(IType,boolean,boolean,IImportsManager,IProgressMonitor)
-   */
-  //   protected IMethod[] createInheritedMethods(IType type, boolean doConstructors, boolean doUnimplementedMethods, IImportsStructure imports, IProgressMonitor monitor) throws CoreException {
-  //           return createInheritedMethods(type, doConstructors, doUnimplementedMethods, new ImportsManager(imports), monitor);
-  //   }
-
-  /**
-   * Creates the bodies of all unimplemented methods and constructors and adds them to the type.
-   * Method is typically called by implementers of <code>NewTypeWizardPage</code> to add
-   * needed method and constructors.
-   * 
-   * @param type the type for which the new methods and constructor are to be created
-   * @param doConstructors if <code>true</code> unimplemented constructors are created
-   * @param doUnimplementedMethods if <code>true</code> unimplemented methods are created
-   * @param imports an import manager to add all neded import statements
-   * @param monitor a progress monitor to report progress
-   */
-  //   protected IMethod[] createInheritedMethods(IType type, boolean doConstructors, boolean doUnimplementedMethods, ImportsManager imports, IProgressMonitor monitor) throws CoreException {
-  //           ArrayList newMethods= new ArrayList();
-  //           ITypeHierarchy hierarchy= null;
-  //           CodeGenerationSettings settings= JavaPreferencesSettings.getCodeGenerationSettings();
-  //
-  //           if (doConstructors) {
-  //                   hierarchy= type.newSupertypeHierarchy(monitor);
-  //                   IType superclass= hierarchy.getSuperclass(type);
-  //                   if (superclass != null) {
-  //                           String[] constructors= StubUtility.evalConstructors(type, superclass, settings, imports.getImportsStructure());
-  //                           if (constructors != null) {
-  //                                   for (int i= 0; i < constructors.length; i++) {
-  //                                           newMethods.add(constructors[i]);
-  //                                   }
-  //                           }
-  //                   
-  //                   }
-  //           }
-  //           if (doUnimplementedMethods) {
-  //                   if (hierarchy == null) {
-  //                           hierarchy= type.newSupertypeHierarchy(monitor);
-  //                   }                       
-  //                   String[] unimplemented= StubUtility.evalUnimplementedMethods(type, hierarchy, false, settings, null, imports.getImportsStructure());
-  //                   if (unimplemented != null) {
-  //                           for (int i= 0; i < unimplemented.length; i++) {
-  //                                   newMethods.add(unimplemented[i]);                                       
-  //                           }
-  //                   }
-  //           }
-  //           IMethod[] createdMethods= new IMethod[newMethods.size()];
-  //           for (int i= 0; i < newMethods.size(); i++) {
-  //                   String content= (String) newMethods.get(i) + '\n'; // content will be formatted, ok to use \n
-  //                   createdMethods[i]= type.createMethod(content, null, false, null);
-  //           }
-  //           return createdMethods;
-  //   }
-
-  // ---- creation ----------------
-
-  /**
-   * Returns the runnable that creates the type using the current settings.
-   * The returned runnable must be executed in the UI thread.
-   * 
-   * @return the runnable to create the new type
-   */
-  //   public IRunnableWithProgress getRunnable() {                            
-  //           return new IRunnableWithProgress() {
-  //                   public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-  //                           try {
-  //                                   if (monitor == null) {
-  //                                           monitor= new NullProgressMonitor();
-  //                                   }
-  //                                   createType(monitor);
-  //                           } catch (CoreException e) {
-  //                                   throw new InvocationTargetException(e);
-  //                           }                               
-  //                   }
-  //           };
-  //   }       
-
-}