Package OntoUML.diagram.navigator

Source Code of OntoUML.diagram.navigator.OntoUMLNavigatorContentProvider

package OntoUML.diagram.navigator;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;

import org.eclipse.core.resources.IFile;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
import org.eclipse.gmf.runtime.emf.core.GMFEditingDomainFactory;
import org.eclipse.gmf.runtime.notation.Diagram;
import org.eclipse.gmf.runtime.notation.Edge;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.navigator.ICommonContentExtensionSite;
import org.eclipse.ui.navigator.ICommonContentProvider;

/**
* @generated
*/
public class OntoUMLNavigatorContentProvider implements ICommonContentProvider {

  /**
   * @generated
   */
  private static final Object[] EMPTY_ARRAY = new Object[0];

  /**
   * @generated
   */
  private Viewer myViewer;

  /**
   * @generated
   */
  private AdapterFactoryEditingDomain myEditingDomain;

  /**
   * @generated
   */
  private WorkspaceSynchronizer myWorkspaceSynchronizer;

  /**
   * @generated
   */
  private Runnable myViewerRefreshRunnable;

  /**
   * @generated
   */
  public OntoUMLNavigatorContentProvider() {
    TransactionalEditingDomain editingDomain = GMFEditingDomainFactory.INSTANCE
        .createEditingDomain();
    myEditingDomain = (AdapterFactoryEditingDomain) editingDomain;
    myEditingDomain.setResourceToReadOnlyMap(new HashMap() {
      public Object get(Object key) {
        if (!containsKey(key)) {
          put(key, Boolean.TRUE);
        }
        return super.get(key);
      }
    });
    myViewerRefreshRunnable = new Runnable() {
      public void run() {
        if (myViewer != null) {
          myViewer.refresh();
        }
      }
    };
    myWorkspaceSynchronizer = new WorkspaceSynchronizer(editingDomain,
        new WorkspaceSynchronizer.Delegate() {
          public void dispose() {
          }

          public boolean handleResourceChanged(final Resource resource) {
            for (Iterator it = myEditingDomain.getResourceSet()
                .getResources().iterator(); it.hasNext();) {
              Resource nextResource = (Resource) it.next();
              nextResource.unload();
            }
            if (myViewer != null) {
              myViewer.getControl().getDisplay().asyncExec(
                  myViewerRefreshRunnable);
            }
            return true;
          }

          public boolean handleResourceDeleted(Resource resource) {
            for (Iterator it = myEditingDomain.getResourceSet()
                .getResources().iterator(); it.hasNext();) {
              Resource nextResource = (Resource) it.next();
              nextResource.unload();
            }
            if (myViewer != null) {
              myViewer.getControl().getDisplay().asyncExec(
                  myViewerRefreshRunnable);
            }
            return true;
          }

          public boolean handleResourceMoved(Resource resource,
              final URI newURI) {
            for (Iterator it = myEditingDomain.getResourceSet()
                .getResources().iterator(); it.hasNext();) {
              Resource nextResource = (Resource) it.next();
              nextResource.unload();
            }
            if (myViewer != null) {
              myViewer.getControl().getDisplay().asyncExec(
                  myViewerRefreshRunnable);
            }
            return true;
          }
        });
  }

  /**
   * @generated
   */
  public void dispose() {
    myWorkspaceSynchronizer.dispose();
    myWorkspaceSynchronizer = null;
    myViewerRefreshRunnable = null;
    for (Iterator it = myEditingDomain.getResourceSet().getResources()
        .iterator(); it.hasNext();) {
      Resource resource = (Resource) it.next();
      resource.unload();
    }
    ((TransactionalEditingDomain) myEditingDomain).dispose();
    myEditingDomain = null;
  }

  /**
   * @generated
   */
  public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
    myViewer = viewer;
  }

  /**
   * @generated
   */
  public Object[] getElements(Object inputElement) {
    return getChildren(inputElement);
  }

  /**
   * @generated
   */
  public void restoreState(IMemento aMemento) {
  }

  /**
   * @generated
   */
  public void saveState(IMemento aMemento) {
  }

  /**
   * @generated
   */
  public void init(ICommonContentExtensionSite aConfig) {
  }

  /**
   * @generated
   */
  public Object[] getChildren(Object parentElement) {
    if (parentElement instanceof IFile) {
      IFile file = (IFile) parentElement;
      URI fileURI = URI.createPlatformResourceURI(file.getFullPath()
          .toString(), true);
      Resource resource = myEditingDomain.getResourceSet().getResource(
          fileURI, true);
      Collection result = new ArrayList();
      result.addAll(createNavigatorItems(selectViewsByType(resource
          .getContents(),
          OntoUML.diagram.edit.parts.ContainerEditPart.MODEL_ID),
          file, false));
      return result.toArray();
    }

    if (parentElement instanceof OntoUML.diagram.navigator.OntoUMLNavigatorGroup) {
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup group = (OntoUML.diagram.navigator.OntoUMLNavigatorGroup) parentElement;
      return group.getChildren();
    }

    if (parentElement instanceof OntoUML.diagram.navigator.OntoUMLNavigatorItem) {
      OntoUML.diagram.navigator.OntoUMLNavigatorItem navigatorItem = (OntoUML.diagram.navigator.OntoUMLNavigatorItem) parentElement;
      if (navigatorItem.isLeaf() || !isOwnView(navigatorItem.getView())) {
        return EMPTY_ARRAY;
      }
      return getViewChildren(navigatorItem.getView(), parentElement);
    }

    return EMPTY_ARRAY;
  }

  /**
   * @generated
   */
  private Object[] getViewChildren(View view, Object parentElement) {
    switch (OntoUML.diagram.part.OntoUMLVisualIDRegistry.getVisualID(view)) {

    case OntoUML.diagram.edit.parts.ContainerEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup links = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Container_1000_links,
          "icons/linksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getChildrenByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getChildrenByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getChildrenByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getChildrenByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getChildrenByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getChildrenByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getChildrenByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getChildrenByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getChildrenByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getChildrenByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getChildrenByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getChildrenByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getChildrenByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getChildrenByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getChildrenByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getDiagramLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      connectedViews = getDiagramLinksByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      connectedViews = getDiagramLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      connectedViews = getDiagramLinksByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      connectedViews = getDiagramLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      connectedViews = getDiagramLinksByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      connectedViews = getDiagramLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      connectedViews = getDiagramLinksByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      connectedViews = getDiagramLinksByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      connectedViews = getDiagramLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      connectedViews = getDiagramLinksByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      connectedViews = getDiagramLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.BinaryAssociationAtomEditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      connectedViews = getDiagramLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.BinaryAssociationAtom2EditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      connectedViews = getDiagramLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.BinaryAssociationAtom3EditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      connectedViews = getDiagramLinksByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtomEditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      connectedViews = getDiagramLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom2EditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      connectedViews = getDiagramLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom3EditPart.VISUAL_ID);
      links
          .addChildren(createNavigatorItems(connectedViews, links,
              false));
      if (!links.isEmpty()) {
        result.add(links);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Category_2001_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Category_2001_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getChildrenByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CategoryAttributeCompartmentEditPart.VISUAL_ID);
      connectedViews = getChildrenByType(connectedViews,
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtomEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom2EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom3EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Collective_2002_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Collective_2002_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getChildrenByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveAttributeCompartmentEditPart.VISUAL_ID);
      connectedViews = getChildrenByType(connectedViews,
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtomEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom2EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom3EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Kind_2003_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Kind_2003_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getChildrenByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindAttributeCompartmentEditPart.VISUAL_ID);
      connectedViews = getChildrenByType(connectedViews,
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtomEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom2EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom3EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Mixin_2004_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Mixin_2004_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getChildrenByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinAttributeCompartmentEditPart.VISUAL_ID);
      connectedViews = getChildrenByType(connectedViews,
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtomEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom2EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom3EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Mode_2005_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Mode_2005_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getChildrenByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeAttributeCompartmentEditPart.VISUAL_ID);
      connectedViews = getChildrenByType(connectedViews,
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtomEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom2EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom3EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Phase_2006_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Phase_2006_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getChildrenByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseAttributeCompartmentEditPart.VISUAL_ID);
      connectedViews = getChildrenByType(connectedViews,
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtomEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom2EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom3EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Quantity_2007_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Quantity_2007_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getChildrenByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityAttributeCompartmentEditPart.VISUAL_ID);
      connectedViews = getChildrenByType(connectedViews,
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtomEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom2EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom3EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Relator_2008_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Relator_2008_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getChildrenByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorAttributeCompartmentEditPart.VISUAL_ID);
      connectedViews = getChildrenByType(connectedViews,
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtomEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom2EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom3EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Role_2009_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Role_2009_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getChildrenByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleAttributeCompartmentEditPart.VISUAL_ID);
      connectedViews = getChildrenByType(connectedViews,
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtomEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom2EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom3EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_RoleMixin_2010_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_RoleMixin_2010_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getChildrenByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinAttributeCompartmentEditPart.VISUAL_ID);
      connectedViews = getChildrenByType(connectedViews,
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtomEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom2EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom3EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_SimpleDatatype_2011_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_SimpleDatatype_2011_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getChildrenByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeAttributeCompartmentEditPart.VISUAL_ID);
      connectedViews = getChildrenByType(connectedViews,
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_StructuralDatatype_2012_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_StructuralDatatype_2012_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getChildrenByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeAttributeCompartmentEditPart.VISUAL_ID);
      connectedViews = getChildrenByType(connectedViews,
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_SubKind_2013_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_SubKind_2013_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getChildrenByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindAttributeCompartmentEditPart.VISUAL_ID);
      connectedViews = getChildrenByType(connectedViews,
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      result.addAll(createNavigatorItems(connectedViews, parentElement,
          false));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtomEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom2EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom3EditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_GeneralizationSet_2014_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_GeneralizationSet_2014_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_DerivationRule_2015_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_DerivationRule_2015_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.BinaryAssociationAtomEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.BinaryAssociationAtom2EditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.BinaryAssociationAtom3EditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtomEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom2EditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ClassifierAtom3EditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3028_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3028_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3029_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3029_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3030_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3030_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3031_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3031_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3032_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3032_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3033_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3033_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3034_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3034_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3035_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3035_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3036_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3036_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3037_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3037_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3038_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3038_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3039_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3039_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup incominglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3040_incominglinks,
          "icons/incomingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup outgoinglinks = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Property_3040_outgoinglinks,
          "icons/outgoingLinksNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      connectedViews = getIncomingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      incominglinks.addChildren(createNavigatorItems(connectedViews,
          incominglinks, true));
      connectedViews = getOutgoingLinksByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID);
      outgoinglinks.addChildren(createNavigatorItems(connectedViews,
          outgoinglinks, true));
      if (!incominglinks.isEmpty()) {
        result.add(incominglinks);
      }
      if (!outgoinglinks.isEmpty()) {
        result.add(outgoinglinks);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.CharacterizationEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup target = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Characterization_4001_target,
          "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Characterization_4001_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksTargetByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!target.isEmpty()) {
        result.add(target);
      }
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.ComponentOfEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup target = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_ComponentOf_4002_target,
          "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_ComponentOf_4002_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksTargetByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!target.isEmpty()) {
        result.add(target);
      }
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.DatatypeRelationshipEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup target = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_DatatypeRelationship_4019_target,
          "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_DatatypeRelationship_4019_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksTargetByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!target.isEmpty()) {
        result.add(target);
      }
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.DerivationEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup target = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Derivation_4004_target,
          "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Derivation_4004_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksTargetByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!target.isEmpty()) {
        result.add(target);
      }
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.FormalAssociationEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup target = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_FormalAssociation_4005_target,
          "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_FormalAssociation_4005_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksTargetByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!target.isEmpty()) {
        result.add(target);
      }
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.GeneralizationEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup target = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Generalization_4006_target,
          "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Generalization_4006_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksTargetByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!target.isEmpty()) {
        result.add(target);
      }
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.MaterialAssociationEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup target = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_MaterialAssociation_4007_target,
          "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_MaterialAssociation_4007_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksTargetByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!target.isEmpty()) {
        result.add(target);
      }
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.MediationEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup target = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Mediation_4008_target,
          "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_Mediation_4008_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksTargetByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!target.isEmpty()) {
        result.add(target);
      }
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.MemberOfEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup target = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_MemberOf_4009_target,
          "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_MemberOf_4009_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksTargetByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!target.isEmpty()) {
        result.add(target);
      }
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.SubCollectionOfEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup target = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_SubCollectionOf_4010_target,
          "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_SubCollectionOf_4010_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksTargetByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!target.isEmpty()) {
        result.add(target);
      }
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.SubQuantityOfEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup target = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_SubQuantityOf_4011_target,
          "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_SubQuantityOf_4011_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksTargetByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SimpleDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.StructuralDatatypeEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(
          Collections.singleton(view),
          OntoUML.diagram.edit.parts.GeneralizationSetEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PropertyEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property2EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property3EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property4EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property5EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property6EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property7EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property8EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property9EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property10EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property11EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property12EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.Property13EditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!target.isEmpty()) {
        result.add(target);
      }
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.BinaryAssociationAtomEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_BinaryAssociationAtom_4013_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksSourceByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.BinaryAssociationAtom2EditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_BinaryAssociationAtom_4014_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksSourceByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.BinaryAssociationAtom3EditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_BinaryAssociationAtom_4015_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksSourceByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.ClassifierAtomEditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup target = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_ClassifierAtom_4016_target,
          "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_ClassifierAtom_4016_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksTargetByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!target.isEmpty()) {
        result.add(target);
      }
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.ClassifierAtom2EditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup target = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_ClassifierAtom_4017_target,
          "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_ClassifierAtom_4017_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksTargetByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!target.isEmpty()) {
        result.add(target);
      }
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }

    case OntoUML.diagram.edit.parts.ClassifierAtom3EditPart.VISUAL_ID: {
      Collection result = new ArrayList();
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup target = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_ClassifierAtom_4018_target,
          "icons/linkTargetNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      OntoUML.diagram.navigator.OntoUMLNavigatorGroup source = new OntoUML.diagram.navigator.OntoUMLNavigatorGroup(
          OntoUML.diagram.part.Messages.NavigatorGroupName_ClassifierAtom_4018_source,
          "icons/linkSourceNavigatorGroup.gif", parentElement); //$NON-NLS-1$
      Collection connectedViews = getLinksTargetByType(Collections
          .singleton(view),
          OntoUML.diagram.edit.parts.CategoryEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.CollectiveEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.KindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.MixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.ModeEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.PhaseEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.QuantityEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RelatorEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.RoleMixinEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksTargetByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.SubKindEditPart.VISUAL_ID);
      target.addChildren(createNavigatorItems(connectedViews, target,
          true));
      connectedViews = getLinksSourceByType(Collections.singleton(view),
          OntoUML.diagram.edit.parts.DerivationRuleEditPart.VISUAL_ID);
      source.addChildren(createNavigatorItems(connectedViews, source,
          true));
      if (!target.isEmpty()) {
        result.add(target);
      }
      if (!source.isEmpty()) {
        result.add(source);
      }
      return result.toArray();
    }
    }
    return EMPTY_ARRAY;
  }

  /**
   * @generated
   */
  private Collection getLinksSourceByType(Collection edges, int visualID) {
    Collection result = new ArrayList();
    String type = OntoUML.diagram.part.OntoUMLVisualIDRegistry
        .getType(visualID);
    for (Iterator it = edges.iterator(); it.hasNext();) {
      Edge nextEdge = (Edge) it.next();
      View nextEdgeSource = nextEdge.getSource();
      if (type.equals(nextEdgeSource.getType())
          && isOwnView(nextEdgeSource)) {
        result.add(nextEdgeSource);
      }
    }
    return result;
  }

  /**
   * @generated
   */
  private Collection getLinksTargetByType(Collection edges, int visualID) {
    Collection result = new ArrayList();
    String type = OntoUML.diagram.part.OntoUMLVisualIDRegistry
        .getType(visualID);
    for (Iterator it = edges.iterator(); it.hasNext();) {
      Edge nextEdge = (Edge) it.next();
      View nextEdgeTarget = nextEdge.getTarget();
      if (type.equals(nextEdgeTarget.getType())
          && isOwnView(nextEdgeTarget)) {
        result.add(nextEdgeTarget);
      }
    }
    return result;
  }

  /**
   * @generated
   */
  private Collection getOutgoingLinksByType(Collection nodes, int visualID) {
    Collection result = new ArrayList();
    String type = OntoUML.diagram.part.OntoUMLVisualIDRegistry
        .getType(visualID);
    for (Iterator it = nodes.iterator(); it.hasNext();) {
      View nextNode = (View) it.next();
      result.addAll(selectViewsByType(nextNode.getSourceEdges(), type));
    }
    return result;
  }

  /**
   * @generated
   */
  private Collection getIncomingLinksByType(Collection nodes, int visualID) {
    Collection result = new ArrayList();
    String type = OntoUML.diagram.part.OntoUMLVisualIDRegistry
        .getType(visualID);
    for (Iterator it = nodes.iterator(); it.hasNext();) {
      View nextNode = (View) it.next();
      result.addAll(selectViewsByType(nextNode.getTargetEdges(), type));
    }
    return result;
  }

  /**
   * @generated
   */
  private Collection getChildrenByType(Collection nodes, int visualID) {
    Collection result = new ArrayList();
    String type = OntoUML.diagram.part.OntoUMLVisualIDRegistry
        .getType(visualID);
    for (Iterator it = nodes.iterator(); it.hasNext();) {
      View nextNode = (View) it.next();
      result.addAll(selectViewsByType(nextNode.getChildren(), type));
    }
    return result;
  }

  /**
   * @generated
   */
  private Collection getDiagramLinksByType(Collection diagrams, int visualID) {
    Collection result = new ArrayList();
    String type = OntoUML.diagram.part.OntoUMLVisualIDRegistry
        .getType(visualID);
    for (Iterator it = diagrams.iterator(); it.hasNext();) {
      Diagram nextDiagram = (Diagram) it.next();
      result.addAll(selectViewsByType(nextDiagram.getEdges(), type));
    }
    return result;
  }

  /**
   * @generated
   */
  private Collection selectViewsByType(Collection views, String type) {
    Collection result = new ArrayList();
    for (Iterator it = views.iterator(); it.hasNext();) {
      View nextView = (View) it.next();
      if (type.equals(nextView.getType()) && isOwnView(nextView)) {
        result.add(nextView);
      }
    }
    return result;
  }

  /**
   * @generated
   */
  private boolean isOwnView(View view) {
    return OntoUML.diagram.edit.parts.ContainerEditPart.MODEL_ID
        .equals(OntoUML.diagram.part.OntoUMLVisualIDRegistry
            .getModelID(view));
  }

  /**
   * @generated
   */
  private Collection createNavigatorItems(Collection views, Object parent,
      boolean isLeafs) {
    Collection result = new ArrayList();
    for (Iterator it = views.iterator(); it.hasNext();) {
      result.add(new OntoUML.diagram.navigator.OntoUMLNavigatorItem(
          (View) it.next(), parent, isLeafs));
    }
    return result;
  }

  /**
   * @generated
   */
  public Object getParent(Object element) {
    if (element instanceof OntoUML.diagram.navigator.OntoUMLAbstractNavigatorItem) {
      OntoUML.diagram.navigator.OntoUMLAbstractNavigatorItem abstractNavigatorItem = (OntoUML.diagram.navigator.OntoUMLAbstractNavigatorItem) element;
      return abstractNavigatorItem.getParent();
    }
    return null;
  }

  /**
   * @generated
   */
  public boolean hasChildren(Object element) {
    return element instanceof IFile || getChildren(element).length > 0;
  }

}
TOP

Related Classes of OntoUML.diagram.navigator.OntoUMLNavigatorContentProvider

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.