Program: 125540
Project: 125540
Buggy source:
@Override protected void doRun(){
  RepositoryNode metadataNode=getMetadataNode(getCurrentRepositoryNode());
  IRepositoryView viewPart=getViewPart();
  if (viewPart != null) {
    viewPart.setFocus();
    viewPart.expand(metadataNode,true);
  }
  IStructuredSelection selection=(IStructuredSelection)getSelection();
  RepositoryNode node=(RepositoryNode)selection.getFirstElement();
  ERepositoryObjectType nodeType=(ERepositoryObjectType)node.getProperties(EProperties.CONTENT_TYPE);
  if (ERepositoryObjectType.METADATA_CON_TABLE.equals(nodeType)) {
    ConnectionItem connectionItem=(ConnectionItem)node.getObject().getProperty().getItem();
    nodeType=ERepositoryObjectType.getItemType(connectionItem);
  }
  if (ERepositoryObjectType.METADATA_FILE_POSITIONAL.equals(nodeType)) {
    createFilePositionalTableWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_FILE_DELIMITED.equals(nodeType)) {
    createFileDelimitedTableWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_CONNECTIONS.equals(nodeType)) {
    createDatabaseTableWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_FILE_REGEXP.equals(nodeType)) {
    createFileRegexpTableWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_FILE_XML.equals(nodeType)) {
    createFileXmlTableWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_FILE_EXCEL.equals(nodeType)) {
    createFileExcelTableWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_FILE_LDIF.equals(nodeType)) {
    createFileLdifTableWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_GENERIC_SCHEMA.equals(nodeType)) {
    createGenericSchemaWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_LDAP_SCHEMA.equals(nodeType)) {
    createLDAPSchemaWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_SALESFORCE_SCHEMA.equals(nodeType)) {
    createSalesforceSchemaWizard(node,true);
  }
 else {
    createExtenseNodeSchemaWizard(nodeType,node,true);
  }
}

Fixed version (ground truth):
@Override protected void doRun(){
  RepositoryNode metadataNode=getMetadataNode(getCurrentRepositoryNode());
  IRepositoryView viewPart=getViewPart();
  if (viewPart != null) {
    viewPart.setFocus();
    viewPart.expand(metadataNode,true);
  }
  IStructuredSelection selection=(IStructuredSelection)getSelection();
  RepositoryNode node=(RepositoryNode)selection.getFirstElement();
  ERepositoryObjectType nodeType=(ERepositoryObjectType)node.getProperties(EProperties.CONTENT_TYPE);
  if (ERepositoryObjectType.METADATA_CON_COLUMN.equals(nodeType)) {
    IRepositoryViewObject obj=node.getObject();
    if (obj instanceof MetadataColumnRepositoryObject) {
      node=node.getParent().getParent();
      nodeType=(ERepositoryObjectType)node.getProperties(EProperties.CONTENT_TYPE);
    }
  }
  if (ERepositoryObjectType.METADATA_CON_TABLE.equals(nodeType)) {
    ConnectionItem connectionItem=(ConnectionItem)node.getObject().getProperty().getItem();
    nodeType=ERepositoryObjectType.getItemType(connectionItem);
  }
  if (ERepositoryObjectType.METADATA_FILE_POSITIONAL.equals(nodeType)) {
    createFilePositionalTableWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_FILE_DELIMITED.equals(nodeType)) {
    createFileDelimitedTableWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_CONNECTIONS.equals(nodeType)) {
    createDatabaseTableWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_FILE_REGEXP.equals(nodeType)) {
    createFileRegexpTableWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_FILE_XML.equals(nodeType)) {
    createFileXmlTableWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_FILE_EXCEL.equals(nodeType)) {
    createFileExcelTableWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_FILE_LDIF.equals(nodeType)) {
    createFileLdifTableWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_GENERIC_SCHEMA.equals(nodeType)) {
    createGenericSchemaWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_LDAP_SCHEMA.equals(nodeType)) {
    createLDAPSchemaWizard(node,true);
  }
 else   if (ERepositoryObjectType.METADATA_SALESFORCE_SCHEMA.equals(nodeType)) {
    createSalesforceSchemaWizard(node,true);
  }
 else {
    createExtenseNodeSchemaWizard(nodeType,node,true);
  }
}