<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
   <extension
         point="org.eclipse.ui.views">
      <view
            id="org.eclipse.ui.tests.navigator.TestView"
            allowMultiple="false"
            class="org.eclipse.ui.navigator.resources.ProjectExplorer"
            name="%test.navigator.viewName"/>
            
      <view
            id="org.eclipse.ui.tests.navigator.FilterTestView"
            allowMultiple="false"
            class="org.eclipse.ui.navigator.CommonNavigator"
            name="Filter Test View"/>     
            
      <view
            id="org.eclipse.ui.tests.navigator.ProgrammaticTestView"
            allowMultiple="false"
            class="org.eclipse.ui.navigator.CommonNavigator"
            name="%test.navigator.programmaticViewName"/>     
            
      <view
            id="org.eclipse.ui.tests.navigator.PipelineTestView"
            allowMultiple="false"
            class="org.eclipse.ui.navigator.CommonNavigator"
            name="%test.navigator.pipelineViewName"/>            

      <view
            id="org.eclipse.ui.tests.navigator.OverrideTestView"
            allowMultiple="false"
            class="org.eclipse.ui.navigator.CommonNavigator"
            name="%test.navigator.overrideViewName"/>            

      <view
            id="org.eclipse.ui.tests.navigator.HideAvailableExtensionsTestView"
            allowMultiple="false"
            class="org.eclipse.ui.navigator.resources.ProjectExplorer"
            name="Test Hide Available Extensions View"/>            

      <view
            id="org.eclipse.ui.tests.navigator.InheritedTestView"
            allowMultiple="false"
            class="org.eclipse.ui.navigator.CommonNavigator"
            name="Inherited Test View"/>            

	  <view
            id="org.eclipse.ui.tests.navigator.PipelineTestView"
            allowMultiple="false"
            class="org.eclipse.ui.navigator.CommonNavigator"
            name="Inherited Test View"/>

      <view
            id="org.eclipse.ui.tests.navigator.NonCommonViewerTestView"
            allowMultiple="false"
            class="org.eclipse.ui.tests.navigator.NonCommonViewerView"
            name="Non CommonViewer Test View"/>
            
	   <view
            id="org.eclipse.ui.tests.navigator.M12View"
            allowMultiple="false"
            class="org.eclipse.ui.navigator.resources.ProjectExplorer"
            name="Project Explorer M12 Abstract Model content test"/>

      <view
            id="org.eclipse.ui.tests.navigator.InitialActivationView"
            allowMultiple="false"
            class="org.eclipse.ui.navigator.CommonNavigator"
            name="Initial Activation View"/>
      <view
            allowMultiple="false"
            class="org.eclipse.ui.navigator.resources.ProjectExplorer"
            id="org.eclipse.ui.tests.navigator.TestLinkHelperView"
            name="Test Link Helper Viewer">
      </view>
      
      <view
            allowMultiple="false"
            class="org.eclipse.ui.navigator.resources.ProjectExplorer"
            id="org.eclipse.ui.tests.navigator.TestShowInView"
            name="Test Show In Viewer">
      </view>
            
   </extension>

   <extension
         point="org.eclipse.ui.navigator.viewer">
      <viewer
            popupMenuId="org.eclipse.ui.tests.navigator.TestView#PopupMenu"
            viewerId="org.eclipse.ui.tests.navigator.TestView">
         <options>
            <property
                  name="org.eclipse.ui.navigator.hideLinkWithEditorAction"
                  value="true"/> 
            <property
                  name="org.eclipse.ui.navigator.hideCollapseAllAction"
                  value="true"/>  
            <property
                  name="org.eclipse.ui.navigator.enforceHasChildren"
                  value="true"/> 
         </options>
      </viewer>

      <viewerContentBinding viewerId="org.eclipse.ui.tests.navigator.TestView">
         <includes>
            <contentExtension pattern="org.eclipse.ui.tests.navigator.testContent"/>
            <contentExtension pattern="org.eclipse.ui.tests.navigator.testContentHasChildren"/>            
            <contentExtension pattern="org.eclipse.ui.tests.navigator.filters.*"/> 
            <contentExtension pattern="org.eclipse.ui.navigator.resourceContent"/>
            <contentExtension pattern="org.eclipse.ui.navigator.resources.filters.*"/>
         </includes>
      </viewerContentBinding>

      <viewerActionBinding viewerId="org.eclipse.ui.tests.navigator.TestView">
         <includes>
            <actionExtension pattern="org.eclipse.ui.tests.navigator.extension.*"/>
            <actionExtension pattern="org.eclipse.ui.tests.navigator.activityTest1"/>
            <actionExtension pattern="org.eclipse.ui.tests.navigator.activityProviderTest"/>
            <actionExtension pattern="org.eclipse.ui.navigator.resources.*"/>
         </includes>
      </viewerActionBinding>

    <viewerContentBinding viewerId="org.eclipse.ui.navigator.ProjectExplorer">
       <includes>
          <contentExtension pattern="org.eclipse.ui.tests.navigator.cdt.*"/>
       </includes>
    </viewerContentBinding>

      <dragAssistant
            class="org.eclipse.ui.tests.navigator.extension.TestDragAssistant"
            viewerId="org.eclipse.ui.tests.navigator.TestView"/>

      <viewer
            viewerId="org.eclipse.ui.tests.navigator.HideAvailableExtensionsTestView">
         <options>
            <property
                  name="org.eclipse.ui.navigator.hideAvailableExtensionsTab"
                  value="true"/>
         </options>
          <popupMenu
                allowsPlatformContributions="true"
                id="org.eclipse.ui.tests.navigator.TestView#PopupMenu"/>  
      </viewer>

      <viewerContentBinding viewerId="org.eclipse.ui.tests.navigator.HideAvailableExtensionsTestView">
          <includes>
       	      <contentExtension pattern="org.eclipse.ui.navigator.resourceContent" />		       	      
	          <contentExtension pattern="org.eclipse.ui.navigator.resources.filters.*"/>
           	  <contentExtension pattern="org.eclipse.ui.navigator.resources.linkHelper"/>
              <contentExtension pattern="org.eclipse.ui.navigator.resources.workingSets"/>
          </includes>
      </viewerContentBinding>

      <viewerActionBinding viewerId="org.eclipse.ui.tests.navigator.HideAvailableExtensionsTestView">
         <includes>
             <actionExtension pattern="org.eclipse.ui.navigator.resources.*" />
         </includes>
      </viewerActionBinding>

      <viewer viewerId="org.eclipse.ui.tests.navigator.FilterTestView"/>      
      <viewerContentBinding viewerId="org.eclipse.ui.tests.navigator.FilterTestView">
         <includes>
            <contentExtension pattern="org.eclipse.ui.tests.navigator.filters.*"/> 
            <contentExtension pattern="org.eclipse.ui.navigator.resourceContent"/>
            <contentExtension pattern="org.eclipse.ui.navigator.resources.filters.*"/>
         </includes>
      </viewerContentBinding>

      <viewer viewerId="org.eclipse.ui.tests.navigator.ProgrammaticTestView"/>      
      <viewer viewerId="org.eclipse.ui.tests.navigator.PipelineTestView">
		<options>
            <property
                  name="org.eclipse.ui.navigator.enforceHasChildren"
                  value="true"/>
        </options> 
      </viewer>  
          
      <viewer viewerId="org.eclipse.ui.tests.navigator.OverrideTestView"/>      
      <viewerContentBinding viewerId="org.eclipse.ui.tests.navigator.OverrideTestView">
          <includes>
       	      <contentExtension pattern="org.eclipse.ui.tests.navigator.testContentOverride1" />		       	      
       	      <contentExtension pattern="org.eclipse.ui.tests.navigator.testContentOverridden1" />		       	      
          </includes>
      </viewerContentBinding>

      <viewer
            viewerId="org.eclipse.ui.tests.navigator.InheritedTestView" 
            inheritBindingsFromViewer="org.eclipse.ui.tests.navigator.TestView"
            helpContext="org.eclipse.ui.tests.navigator.testHelpContext">
      </viewer>

      <viewer
            viewerId="org.eclipse.ui.tests.navigator.InheritedTestViewAdditions" 
            inheritBindingsFromViewer="org.eclipse.ui.tests.navigator.TestView"
            helpContext="org.eclipse.ui.tests.navigator.testHelpContext">
      </viewer>
      <viewerContentBinding viewerId="org.eclipse.ui.tests.navigator.InheritedTestViewAdditions">
         <includes>
            <contentExtension pattern="org.eclipse.ui.tests.navigator.testInitialActivationTrue"/>
         </includes>
      </viewerContentBinding>

	  <viewer viewerId="org.eclipse.ui.tests.navigator.InheritedTestView"/>

	  <!-- don't make the name match the View we want to make sure that works -->
      <viewer viewerId="org.eclipse.ui.tests.navigator.NonCommonViewerTestViewer"/>  
      
      <viewer viewerId="org.eclipse.ui.tests.navigator.M12View"/>

      <viewer viewerId="org.eclipse.ui.tests.navigator.InitialActivationView"/>
      <viewerContentBinding viewerId="org.eclipse.ui.tests.navigator.InitialActivationView">
         <includes>
            <contentExtension pattern="org.eclipse.ui.tests.navigator.testInitialActivation*"/>
         </includes>
      </viewerContentBinding>

      <viewer
            viewerId="org.eclipse.ui.tests.navigator.TestLinkHelperView">
      </viewer>

      <viewerContentBinding viewerId="org.eclipse.ui.tests.navigator.TestLinkHelperView">
         <includes>
            <contentExtension pattern="org.eclipse.ui.tests.navigator.testContent"/>
            <contentExtension pattern="org.eclipse.ui.tests.navigator.testContentHasChildren"/>            
            <contentExtension pattern="org.eclipse.ui.tests.navigator.filters.*"/> 
            <contentExtension pattern="org.eclipse.ui.tests.navigator.linkHelper"/> 
            <contentExtension pattern="org.eclipse.ui.navigator.resourceContent"/>
            <contentExtension pattern="org.eclipse.ui.navigator.resources.filters.*"/>
         </includes>
      </viewerContentBinding>

      <viewerActionBinding viewerId="org.eclipse.ui.tests.navigator.TestLinkHelperView">
         <includes>
            <actionExtension pattern="org.eclipse.ui.tests.navigator.extension.*"/>
            <actionExtension pattern="org.eclipse.ui.tests.navigator.activityTest1"/>
            <actionExtension pattern="org.eclipse.ui.tests.navigator.activityProviderTest"/>
            <actionExtension pattern="org.eclipse.ui.navigator.resources.*"/>
         </includes>
      </viewerActionBinding>
      
      <viewer
            viewerId="org.eclipse.ui.tests.navigator.TestShowInView">
      </viewer>

      <viewerContentBinding viewerId="org.eclipse.ui.tests.navigator.TestShowInView">
         <includes>
            <contentExtension pattern="org.eclipse.ui.tests.navigator.testContent"/>
            <contentExtension pattern="org.eclipse.ui.tests.navigator.testContentHasChildren"/>            
            <contentExtension pattern="org.eclipse.ui.tests.navigator.filters.*"/> 
            <contentExtension pattern="org.eclipse.ui.tests.navigator.linkHelper"/> 
            <contentExtension pattern="org.eclipse.ui.navigator.resourceContent"/>
            <contentExtension pattern="org.eclipse.ui.navigator.resources.filters.*"/>
         </includes>
      </viewerContentBinding>

      <viewerActionBinding viewerId="org.eclipse.ui.tests.navigator.TestShowInView">
         <includes>
            <actionExtension pattern="org.eclipse.ui.tests.navigator.extension.*"/>
            <actionExtension pattern="org.eclipse.ui.tests.navigator.activityTest1"/>
            <actionExtension pattern="org.eclipse.ui.tests.navigator.activityProviderTest"/>
            <actionExtension pattern="org.eclipse.ui.navigator.resources.*"/>
         </includes>
      </viewerActionBinding>

   </extension>


   <extension
         point="org.eclipse.ui.navigator.navigatorContent">

	  <!-- this navigatorContent adds a bunch of model objects -->
      <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testContent" 
            name="%test.navigator.extension"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderBlue"
            activeByDefault="true"
            priority="higher">
         <triggerPoints>
            <or>
			    <adapt type="org.eclipse.core.resources.IProject"/>
				<instanceof value="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData"/>
			</or>
         </triggerPoints> 
         <possibleChildren>
            <or>
				<instanceof value="org.eclipse.core.resources.IFile" />
				<instanceof value="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData"/>
			</or>
         </possibleChildren> 

         <commonSorter
              id="org.eclipse.ui.tests.navigator.commonSorter"
              class="org.eclipse.ui.tests.navigator.extension.TestSorterData">
           <parentExpression>
              <or>
                 <adapt type="org.eclipse.core.resources.IProject"/>
                 <instanceof value="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData"/>
              </or>
           </parentExpression>
         </commonSorter>

      	 <actionProvider
            id="org.eclipse.ui.tests.navigator.extension.TestNestedActionProvider" 
            class="org.eclipse.ui.tests.navigator.extension.TestActionProviderNested">
      	 </actionProvider>

      </navigatorContent>


      <navigatorContent
            name="Unsorted Resources"
            priority="low"
            icon="$nl$/icons/full/eview16/resource_persp.gif"
            activeByDefault="true"
			            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
            			labelProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionLabelProvider"			
            id="org.eclipse.ui.tests.navigator.resourceContent.unsorted">         
         <enablement>
		         <or>         
		            <adapt type="org.eclipse.core.resources.IProject" /> 
		            <instanceof 
		                  	value="org.eclipse.core.resources.IResource" /> 
		         </or>
         </enablement>
	  </navigatorContent>
      
      <navigatorContent
            id="org.eclipse.ui.tests.navigator.testInitialActivationTrue"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestSimpleChildrenContentProvider1"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderBlue"
            activeByDefault="false"
            name="Test Initial Activation True">
	     <enablement>
            <instanceof value="org.eclipse.core.resources.IProject"/>
         </enablement>
         <initialActivation>
            <or></or>
         </initialActivation>            
      </navigatorContent>

      <navigatorContent
            id="org.eclipse.ui.tests.navigator.testInitialActivationFalse"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestSimpleChildrenContentProvider1"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderBlue"
            activeByDefault="false"
            name="Test Initial Activation False">
	     <enablement>
            <instanceof value="org.eclipse.core.resources.IProject"/>
         </enablement>
         <initialActivation>
            <not><or></or></not>
         </initialActivation>            
      </navigatorContent>

      <navigatorContent
            id="org.eclipse.ui.tests.navigator.testSimpleChildrenContent1"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestSimpleChildrenContentProvider1"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderBlue"
            activeByDefault="false"
            name="Test Simple Children 1">
	     <enablement>
            <instanceof value="org.eclipse.core.resources.IProject"/>
         </enablement>            
      </navigatorContent>

      <navigatorContent
            appearsBefore="org.eclipse.ui.tests.navigator.testSimpleChildrenContent1"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestSimpleChildrenContentProvider2"
            id="org.eclipse.ui.tests.navigator.testSimpleChildrenContent2"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderCyan"
            name="Test Simple Children 2">
	     <enablement>
            <instanceof value="org.eclipse.core.resources.IProject"/>
         </enablement>            
      </navigatorContent>

      <navigatorContent
            appearsBefore="org.eclipse.ui.tests.navigator.testSimpleChildrenContent2"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestSimpleChildrenContentProvider3"
            id="org.eclipse.ui.tests.navigator.testSimpleChildrenContent3"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderPlainRed"
            name="Test Simple Children 3">
	     <enablement>
            <instanceof value="org.eclipse.core.resources.IProject"/>
         </enablement>            
      </navigatorContent>

      <navigatorContent
            appearsBefore="org.eclipse.ui.tests.navigator.testTHISISNOTFOUND"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestSimpleChildrenContentProvider2"
            id="org.eclipse.ui.tests.navigator.testSimpleChildrenAppearsBeforeNotFound"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderCyan"
            name="Test Simple Children Appears Before Not Found">
	     <enablement>
            <instanceof value="org.eclipse.core.resources.IProject"/>
         </enablement>            
      </navigatorContent>

      <navigatorContent
            id="org.eclipse.ui.tests.navigator.testContent2"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderBlue"
            activeByDefault="false"
            name="Test Navigator Extension [Programmatic Binding]">
	     <triggerPoints>
            <instanceof value="org.eclipse.core.resources.IProject"/>
         </triggerPoints>            
      </navigatorContent>

      <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testContentDropCopy" 
            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
   			labelProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionLabelProvider"			
            name="Change drop to copy (from move)"
            priority="highest">
         <enablement>
            <adapt
                  type="org.eclipse.core.resources.IResource">
            </adapt>
         </enablement>

         <dropAssistant
               class="org.eclipse.ui.tests.navigator.extension.TestCopyDropAssistant"
               id="testCopyDropAssistant">
           <possibleDropTargets>
              <or>
                 <adapt type="org.eclipse.core.resources.IProject"/>
                 <adapt type="org.eclipse.core.resources.IFolder"/>
                 <adapt type="org.eclipse.core.resources.IFile"/>
              </or>
           </possibleDropTargets>
         </dropAssistant> 

	  </navigatorContent>      

      <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testContentHasChildren" 
            name="Dat File Content Extension"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProviderDat"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderBlue"
            activeByDefault="false"
            priority="lower">
         <triggerPoints>
            <or> 
            	<and>
					<instanceof value="org.eclipse.core.resources.IFile" />
                <test property="org.eclipse.core.resources.extension" value="dat"/>
				</and>
			</or> 
         </triggerPoints> 
         <possibleChildren> 
         </possibleChildren> 
	  </navigatorContent>      


     <navigatorContent
           activeByDefault="false"
           contentProvider="org.eclipse.ui.tests.navigator.jst.WebJavaContentProvider"
           id="org.eclipse.ui.tests.navigator.jst.ContentProvider"
           labelProvider="org.eclipse.ui.tests.navigator.jst.WebJavaLabelProvider"
           name="JST Content provider"
           priority="higher">
        <override
              policy="InvokeOnlyIfSuppressedExtAlsoVisibleAndActive"
              suppressedExtensionId="org.eclipse.jdt.java.ui.javaContent"/>					   
        <triggerPoints>
			<adapt type="org.eclipse.core.resources.IProject"/>
        </triggerPoints>
        <possibleChildren>
           <or>
              <instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
              <instanceof value="org.eclipse.jdt.core.IPackageFragment"/>
              <instanceof value="org.eclipse.core.resources.IFolder"/>
              <instanceof value="org.eclipse.jdt.internal.ui.packageview.ClassPathContainer"/>
           </or>
        </possibleChildren> 
	  </navigatorContent>      

      <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testContentOverridden1" 
            name="Test Content Overridden 1 (Red)"
            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderStyledRed"
            priority="lower">
         <triggerPoints>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </triggerPoints>
	  </navigatorContent>   
	     
      <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testContentOverride1" 
            name="Test Content Override 1 (Label only - Green)"
            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderStyledGreen"
            priority="lower">
         <triggerPoints>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </triggerPoints>
		<override suppressedExtensionId="org.eclipse.ui.tests.navigator.testContentOverridden1"/>
	  </navigatorContent>      

      <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testContentOverridden1Plain" 
            name="Test Content Overridden 1 (Red)"
            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderPlainRed"
            priority="lower">
         <triggerPoints>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </triggerPoints>
	  </navigatorContent>   
	     
      <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testContentOverride1Plain" 
            name="Test Content Override 1 (Label only - Green)"
            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderPlainGreen"
            priority="lower">
         <triggerPoints>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </triggerPoints>
		<override suppressedExtensionId="org.eclipse.ui.tests.navigator.testContentOverridden1Plain"/>
	  </navigatorContent>      

      <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testContentOverridden2" 
            name="Test Content Overridden 2 (Blue)"
            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderBlue"
            activeByDefault="false"
            priority="lower">
         <triggerPoints>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </triggerPoints>
	  </navigatorContent>      

      <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testContentOverride2" 
            name="Test Content Override 2 (Label only - Cyan)"
            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderCyan"
            priority="lower">
         <triggerPoints>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </triggerPoints>
		<override suppressedExtensionId="org.eclipse.ui.tests.navigator.testContentOverridden2"/>
	  </navigatorContent>      

      <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testContentOverride2Blank" 
            name="Test Content Override 2 (Label only - Blank)"
            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderBlank"
            priority="lower">
         <triggerPoints>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </triggerPoints>
		<override suppressedExtensionId="org.eclipse.ui.tests.navigator.testContentOverridden2"/>
	  </navigatorContent>      

      <navigatorContent
            id="org.eclipse.ui.tests.navigator.testContentSorterModel"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderBlue"
            activeByDefault="false"
            name="Test Navigator Extension [Sorter For Model]">
	     <triggerPoints>
            <instanceof value="org.eclipse.core.resources.IResource"/>
         </triggerPoints>            

        <commonSorter class="org.eclipse.ui.tests.navigator.extension.TestSorterData">
          <parentExpression>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
          </parentExpression>
        </commonSorter>

      </navigatorContent>
      
      <navigatorContent
            id="org.eclipse.ui.tests.navigator.testContentComparatorModel"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderBlue"
            activeByDefault="false"
            name="Test Navigator Extension [Comparator For Model]">
	     <triggerPoints>
            <instanceof value="org.eclipse.core.resources.IResource"/>
         </triggerPoints>            

        <commonSorter class="org.eclipse.ui.tests.navigator.extension.TestComparatorData">
          <parentExpression>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
          </parentExpression>
        </commonSorter>

      </navigatorContent>
      

      <navigatorContent
            id="org.eclipse.ui.tests.navigator.testContentSorterModel.override"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderBlue"
            activeByDefault="false"
            name="Test Navigator Extension [Sorter For Model Override]">
	     <triggerPoints>
	        <or>
               <instanceof value="org.eclipse.core.resources.IResource"/>
			   <instanceof value="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData"/>
			</or>   
         </triggerPoints>            
		<override suppressedExtensionId="org.eclipse.ui.tests.navigator.testContent"/>

        <commonSorter class="org.eclipse.ui.tests.navigator.extension.TestSorterDataAndResource">
          <parentExpression>
          </parentExpression>
        </commonSorter>

      </navigatorContent>

      <navigatorContent
            id="org.eclipse.ui.tests.navigator.testContentSorterModel.override.nosort"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderBlue"
            activeByDefault="false"
            name="Test Navigator Extension [Sorter For Model Override Nosort]">
	     <triggerPoints>
	        <or>
               <instanceof value="org.eclipse.core.resources.IResource"/>
			   <instanceof value="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData"/>
			</or>   
         </triggerPoints>            
		<override suppressedExtensionId="org.eclipse.ui.tests.navigator.testContent"/>

      </navigatorContent>

      <navigatorContent
            id="org.eclipse.ui.tests.navigator.testContentSorterResource.sortOnly"
			sortOnly="true"
			activeByDefault="false"
            name="Test Navigator Extension [Resource Sorter - SortOnly]">
        <commonSorter class="org.eclipse.ui.tests.navigator.extension.TestSorterResource">
          <parentExpression>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
          </parentExpression>
        </commonSorter>
      </navigatorContent>

      <navigatorContent
            id="org.eclipse.ui.tests.navigator.testContentSorterResource.sortOnly.override"
	        appearsBefore="org.eclipse.ui.tests.navigator.testContentSorterResource.sortOnly"
            sortOnly="true"
			activeByDefault="false"
            name="Test Navigator Extension [Resource Sorter - SortOnly Override]">

        <commonSorter class="org.eclipse.ui.tests.navigator.extension.TestSorterResource">
          <parentExpression>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
          </parentExpression>
        </commonSorter>

      </navigatorContent>
      
      <navigatorContent
            id="org.eclipse.ui.tests.navigator.testContentSorterResource"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProviderResource"
            labelProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionLabelProvider"
            name="Test Navigator Extension [Resource Sorter]">
	     <triggerPoints>
            <instanceof value="org.eclipse.core.resources.IResource"/>
         </triggerPoints>            

        <commonSorter class="org.eclipse.ui.tests.navigator.extension.TestSorterResource">
          <parentExpression>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
          </parentExpression>
        </commonSorter>

      </navigatorContent>

      <navigatorContent
            id="org.eclipse.ui.tests.navigator.testContentSorterResource.override.resource"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProviderResource"
            labelProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionLabelProvider"
            name="Test Navigator Extension [Resource Sorter Override Resource (No sorter)]">
	     <enablement>
            <instanceof value="org.eclipse.core.resources.IResource"/>
         </enablement>            
		<override suppressedExtensionId="org.eclipse.ui.navigator.resourceContent"/>

      </navigatorContent>
      <navigatorContent
            activeByDefault="false"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProviderBasicA"
            id="org.eclipse.ui.tests.navigator.testContentBasic.a"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderBlue"
            name="Test Navigator Extension [Basic Content A]">
         <triggerPoints>
            <or>
               <instanceof
                     value="org.eclipse.core.resources.IResource">
               </instanceof>
               <instanceof
                     value="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData">
               </instanceof>
            </or>
         </triggerPoints>
         <possibleChildren>
            <instanceof
                  value="org.eclipse.ui.tests.navigator.extension.TreeContentA">
            </instanceof>
         </possibleChildren>
      </navigatorContent>
      <navigatorContent
            activeByDefault="false"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProviderBasicB"
            id="org.eclipse.ui.tests.navigator.testContentBasic.b"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderBlue"
            name="Test Navigator Extension [Basic Content B]">
         <triggerPoints>
            <or>
               <instanceof
                     value="org.eclipse.core.resources.IResource">
               </instanceof>
               <instanceof
                     value="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData">
               </instanceof>
            </or></triggerPoints>
         <possibleChildren>
            <instanceof
                  value="org.eclipse.ui.tests.navigator.extension.TreeContentB">
            </instanceof>
         </possibleChildren>
      </navigatorContent>
      <navigatorContent
            activeByDefault="false"
            id="org.eclipse.ui.tests.navigator.testContentBasic.sortOnlySorter"
            name="Test Navigator Extension [Basic Sortonly Sorter]"
            sortOnly="true">
         <commonSorter
               class="org.eclipse.jface.viewers.ViewerSorter">
            <parentExpression>
               <or>
                  <instanceof
                        value="org.eclipse.core.resources.IResource">
                  </instanceof>
                  <instanceof
                        value="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData">
                  </instanceof>
               </or></parentExpression>
         </commonSorter>
      </navigatorContent>
      
      <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testContentEmpty" 
            name="Test Empty Content Provider (Cyan Label)"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestEmptyContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderCyan"
            priority="normal">
         <enablement>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </enablement>
	  </navigatorContent>

      <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testPipeline.A" 
            name="Test Pipeline Overrides A"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestPipelineProvider"
            labelProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionLabelProvider"
            priority="normal">
         <override
               policy="InvokeOnlyIfSuppressedExtAlsoVisibleAndActive"
               suppressedExtensionId="org.eclipse.ui.navigator.resourceContent"/>
         <triggerPoints>
            <instanceof value="org.eclipse.core.resources.IResource"/>
         </triggerPoints>
         <possibleChildren>
         	<instanceof value="org.eclipse.ui.tests.navigator.m12.model.M1Resource"/>
         </possibleChildren>
	  </navigatorContent>
	  
	  <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testPipeline.B" 
            name="Test Pipeline Overrides B"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestPipelineProvider"
            labelProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionLabelProvider"
            priority="normal">
         <override                
         	policy="InvokeOnlyIfSuppressedExtAlsoVisibleAndActive"
         	suppressedExtensionId="org.eclipse.ui.tests.navigator.testPipeline.A"/>
         <enablement>
            <instanceof
                  value="org.eclipse.ui.tests.navigator.m12.model.M1Resource">
            </instanceof>
         </enablement>
	  </navigatorContent>
	  
	  <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testPipeline.C" 
            name="Test Pipeline Overrides C"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestPipelineProvider"
            labelProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionLabelProvider"
            priority="low">
         <override
         	policy="InvokeOnlyIfSuppressedExtAlsoVisibleAndActive"
         	suppressedExtensionId="org.eclipse.ui.tests.navigator.testPipeline.A"/>
         <enablement>
            <instanceof
                  value="org.eclipse.ui.tests.navigator.m12.model.M1Resource">
            </instanceof>
         </enablement>
	  </navigatorContent>
	  
	  <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testPipeline.D" 
            name="Test Pipeline Overrides D"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestPipelineProvider"
            labelProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionLabelProvider"
            priority="low">
         <override 
         	policy="InvokeOnlyIfSuppressedExtAlsoVisibleAndActive"
         	suppressedExtensionId="org.eclipse.ui.tests.navigator.testPipeline.B"/>
         <enablement>
            <instanceof
                  value="org.eclipse.ui.tests.navigator.m12.model.M1Resource">
            </instanceof>
         </enablement>
	  </navigatorContent>
	  
	  <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testPipeline.E" 
            name="Test Pipeline Overrides E"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestPipelineProvider"
            labelProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionLabelProvider"
            priority="low">
         <override
         	policy="InvokeOnlyIfSuppressedExtAlsoVisibleAndActive"
         	suppressedExtensionId="org.eclipse.ui.tests.navigator.testPipeline.D"/>
         <enablement>
            <instanceof
                  value="org.eclipse.ui.tests.navigator.m12.model.M1Resource">
            </instanceof>
         </enablement>
	  </navigatorContent>
	  
	  <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testPipeline.F" 
            name="Test Pipeline Overrides F"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestPipelineProvider"
            labelProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionLabelProvider"
            priority="high">
         <override
         	policy="InvokeOnlyIfSuppressedExtAlsoVisibleAndActive"
         	suppressedExtensionId="org.eclipse.ui.tests.navigator.testPipeline.C"/>
         <enablement>
            <instanceof
                  value="org.eclipse.ui.tests.navigator.m12.model.M1Resource">
            </instanceof>
         </enablement>
	  </navigatorContent>
	  
	  <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testPipeline.G" 
            name="Test Pipeline Overrides G"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestPipelineProvider"
            labelProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionLabelProvider"
            priority="normal">
         <override
         	policy="InvokeOnlyIfSuppressedExtAlsoVisibleAndActive"
         	suppressedExtensionId="org.eclipse.ui.tests.navigator.testPipeline.C"/>
         <enablement>
            <instanceof
                  value="org.eclipse.ui.tests.navigator.m12.model.M1Resource">
            </instanceof>
         </enablement>
	  </navigatorContent>
      
      <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testPipeline.label" 
            name="Test Pipeline Label Provider"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestEmptyContentProvider"
            labelProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionLabelProvider"
            priority="normal">
         <override suppressedExtensionId="org.eclipse.ui.tests.navigator.testPipeline.A"/>
         <enablement>
            <instanceof
                  value="org.eclipse.ui.tests.navigator.m12.model.M1Resource">
            </instanceof>
         </enablement>
	  </navigatorContent>

      <navigatorContent
            id="org.eclipse.ui.tests.navigator.testContentSorterResource.override"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProviderResource"
            labelProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionLabelProvider"
            name="Test Navigator Extension [Resource Sorter Override]">
	     <enablement>
            <instanceof value="org.eclipse.core.resources.IResource"/>
         </enablement>            
		<override suppressedExtensionId="org.eclipse.ui.tests.navigator.testContentSorterResource.override.resource"/>

        <commonSorter class="org.eclipse.ui.tests.navigator.extension.TestSorterResource">
          <parentExpression>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
          </parentExpression>
        </commonSorter>

      </navigatorContent>

      <navigatorContent
            id="org.eclipse.ui.tests.navigator.testContentSorterResource.override.sorter"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProviderResource"
            labelProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionLabelProvider"
            name="Test Navigator Extension [Resource Sorter Override]">
	     <triggerPoints>
            <instanceof value="org.eclipse.core.resources.IResource"/>
         </triggerPoints>            
		<override suppressedExtensionId="org.eclipse.ui.tests.navigator.testContentSorterResource"/>

        <commonSorter class="org.eclipse.ui.tests.navigator.extension.TestSorterResource">
          <parentExpression>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
          </parentExpression>
        </commonSorter>

      </navigatorContent>

      <navigatorContent
            id="org.eclipse.ui.tests.navigator.testContentActionProvider"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProviderResource"
            labelProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionLabelProvider"
            name="Test Navigator Extension [TestActionProvider]">
	     <enablement>
            <instanceof value="org.eclipse.core.resources.IResource"/>
         </enablement>            

        <actionProvider
	        id="org.eclipse.ui.tests.navigator.extension.TestActionProvider"
	        class="org.eclipse.ui.tests.navigator.extension.TestActionProviderMenu"
	        overrides="org.eclipse.ui.navigator.resources.actions.RefactorActions">
	       <enablement>
	           <instanceof value="org.eclipse.core.resources.IResource"/>
	       </enablement>
	    </actionProvider>

      </navigatorContent>
      
	  <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testContentNoChildren" 
            name="Test Content No Children"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProviderNoChildren"
            labelProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionLabelProvider"
            activeByDefault="false"
            priority="normal">
  		 <override suppressedExtensionId="org.eclipse.ui.navigator.resourceContent"/>
         <enablement>
			<and>
            	<instanceof
                	  value="org.eclipse.core.resources.IProject">
            	</instanceof>
                <test property="org.eclipse.core.resources.name" value="p1"/>
            </and>    
         </enablement>
	  </navigatorContent>
	  
	  <navigatorContent
            activeByDefault="true"
            contentProvider="org.eclipse.ui.tests.navigator.m12.M1ContentProvider"
            id="org.eclipse.ui.tests.navigator.m12.M1"
            labelProvider="org.eclipse.ui.tests.navigator.m12.ResourceWrapperLabelProvider"
            name="M1 model provider"
            providesSaveables="false">
          <override
              policy="InvokeOnlyIfSuppressedExtAlsoVisibleAndActive"
               suppressedExtensionId="org.eclipse.ui.navigator.resourceContent">
         </override>
         <triggerPoints>
         <or>
            <instanceof
                  value="org.eclipse.core.resources.IWorkspaceRoot">
            </instanceof>
           </or>
         </triggerPoints>
         <possibleChildren>
            <instanceof
                  value="org.eclipse.ui.tests.navigator.m12.model.M1Resource">
            </instanceof>
         </possibleChildren>
      </navigatorContent>
 
	   <navigatorContent
            activeByDefault="true"
            contentProvider="org.eclipse.ui.tests.navigator.m12.M1ContentProvider"
            id="org.eclipse.ui.tests.navigator.m12.M1FirstClass"
            labelProvider="org.eclipse.ui.tests.navigator.m12.ResourceWrapperLabelProvider"
            name="M1 model provider"
            providesSaveables="false">
         <override
               policy="InvokeAlwaysRegardlessOfSuppressedExt"
              suppressedExtensionId="org.eclipse.ui.navigator.resourceContent">
         </override>
         <triggerPoints>
         <or>
            <instanceof
                  value="org.eclipse.core.resources.IWorkspaceRoot">
            </instanceof>
            <instanceof
                  value="org.eclipse.ui.tests.navigator.m12.model.M1Project">
            </instanceof>
            <instanceof
                  value="org.eclipse.ui.tests.navigator.m12.model.M1Folder">
            </instanceof>
           </or>
         </triggerPoints>
         <possibleChildren>
            <instanceof
                  value="org.eclipse.ui.tests.navigator.m12.model.M1Resource">
            </instanceof>
         </possibleChildren>
      </navigatorContent>
 
-
      <navigatorContent
            activeByDefault="true"
            contentProvider="org.eclipse.ui.tests.navigator.m12.M2ContentProvider"
            id="org.eclipse.ui.tests.navigator.m12.M2"
            labelProvider="org.eclipse.ui.tests.navigator.m12.ResourceWrapperLabelProvider"
            name="M2 model provider"
            providesSaveables="false">
         <override
               policy="InvokeOnlyIfSuppressedExtAlsoVisibleAndActive"
               suppressedExtensionId="org.eclipse.ui.tests.navigator.m12.M1">
         </override>
         <triggerPoints>
         <or>
            <instanceof
                  value="org.eclipse.ui.tests.navigator.m12.model.M1Folder">
            </instanceof>
            <instanceof
                  value="org.eclipse.ui.tests.navigator.m12.model.M1Project">
            </instanceof>
         </or>
         </triggerPoints>
         <possibleChildren>
            <instanceof
                  value="org.eclipse.ui.tests.navigator.m12.model.M2Resource">
            </instanceof>
         </possibleChildren>
      </navigatorContent>
    
      <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testTrackingLabel.A" 
            name="Test Label Overrides A"
            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TrackingLabelProvider"
            activeByDefault="false"
            priority="normal">
         <triggerPoints>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </triggerPoints>
	  </navigatorContent>
	  
	  <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testTrackingLabel.B" 
            name="Test Label Overrides B"
            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TrackingLabelProvider"
            activeByDefault="false"
            priority="normal">
         <override suppressedExtensionId="org.eclipse.ui.tests.navigator.testTrackingLabel.A"/>
         <enablement>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </enablement>
	  </navigatorContent>
	  
	  <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testTrackingLabel.C" 
            name="Test Label Overrides C"
            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TrackingLabelProvider"
            activeByDefault="false"
            priority="low">
         <override suppressedExtensionId="org.eclipse.ui.tests.navigator.testTrackingLabel.A"/>
         <enablement>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </enablement>
	  </navigatorContent>
	  
	  <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testTrackingLabel.D" 
            name="Test Label Overrides D"
            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TrackingLabelProvider"
            activeByDefault="false"
            priority="low">
         <override suppressedExtensionId="org.eclipse.ui.tests.navigator.testTrackingLabel.B"/>
         <enablement>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </enablement>
	  </navigatorContent>
	  
	  <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testTrackingLabel.E" 
            name="Test Label Overrides E"
            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TrackingLabelProvider"
            activeByDefault="false"
            priority="low">
         <override suppressedExtensionId="org.eclipse.ui.tests.navigator.testTrackingLabel.D"/>
         <enablement>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </enablement>
	  </navigatorContent>
	  
	  <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testTrackingLabel.F" 
            name="Test Label Overrides F"
            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TrackingLabelProvider"
            activeByDefault="false"
            priority="high">
         <override suppressedExtensionId="org.eclipse.ui.tests.navigator.testTrackingLabel.C"/>
         <enablement>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </enablement>
	  </navigatorContent>
	  
	  <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testTrackingLabel.G" 
            name="Test Label Overrides G"
            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TrackingLabelProvider"
            activeByDefault="false"
            priority="normal">
         <override suppressedExtensionId="org.eclipse.ui.tests.navigator.testTrackingLabel.C"/>
         <enablement>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </enablement>
	  </navigatorContent>
	  
	  <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testContentResourceOverride" 
            name="Test Resource Override Content Provider"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProviderPipelined"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderPlainRed"
            activeByDefault="false"
            priority="normal">
  		  <override 
    		  suppressedExtensionId="org.eclipse.ui.navigator.resourceContent"/>
         <enablement>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </enablement>
	  </navigatorContent>


      <navigatorContent 
            id="org.eclipse.ui.tests.navigator.testContentWith" 
            name="Test Content With (Blue)"
            contentProvider="org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderBlue"
            activeByDefault="false"
            priority="lower">
  		  <override 
    		  suppressedExtensionId="org.eclipse.ui.navigator.resourceContent"/>
         <triggerPoints>
		    <and>         
            	<instanceof
                  value="org.eclipse.core.resources.IResource">
            	</instanceof>
   				<with
   					variable="activeWorkbenchWindow.activePerspective">
   					<not><equals
      					value="com.myperpective">
   					</equals></not>
   				</with>
            </and>
         </triggerPoints>
	  </navigatorContent>      

      <navigatorContent
            id="org.eclipse.ui.tests.navigator.testContentTooltips"
            contentProvider="org.eclipse.ui.tests.navigator.extension.TestContentProvider"
            labelProvider="org.eclipse.ui.tests.navigator.extension.TestLabelProviderTooltips"
            activeByDefault="false"
            name="Test Navigator Extension [Programmatic Binding]">
	     <triggerPoints>
            <instanceof value="org.eclipse.core.resources.IProject"/>
         </triggerPoints>            
      </navigatorContent>

	<!-- CDT -->
    <navigatorContent
          contentProvider="org.eclipse.ui.tests.navigator.cdt.CNavigatorContentProvider"
          id="org.eclipse.ui.tests.navigator.cdt.content"
          labelProvider="org.eclipse.ui.tests.navigator.cdt.CNavigatorLabelProvider"
          name="CDT test"
		  activeByDefault="false"
          priority="normal">
       <triggerPoints>
          <or>
             <instanceof value="org.eclipse.ui.tests.navigator.cdt.CElement"/>
             <and>
	             <instanceof value="org.eclipse.core.resources.IResource"/>
	             <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.ui.tests.navigator.cdt.nature"/>
             </and>
             <instanceof value="org.eclipse.core.resources.IWorkspaceRoot"/>
          </or>
       </triggerPoints>
       <possibleChildren>
          <or>
             <instanceof value="org.eclipse.core.resources.IResource"/>
             <instanceof value="org.eclipse.ui.tests.navigator.cdt.CElement"/>
          </or>
       </possibleChildren>
       <override
             policy="InvokeAlwaysRegardlessOfSuppressedExt"
             suppressedExtensionId="org.eclipse.ui.navigator.resourceContent"/>
       <commonSorter
             class="org.eclipse.ui.tests.navigator.cdt.CElementSorter"
             id="org.eclipse.ui.tests.navigator.cdt.sorter">
       </commonSorter>
    </navigatorContent>


      <actionProvider
            id="org.eclipse.ui.tests.navigator.extension.DependentActionProvider"
            class="org.eclipse.ui.tests.navigator.extension.TestActionProviderDependent"
            dependsOn="org.eclipse.ui.tests.navigator.extension.TestActionProvider">
         <enablement>
            <instanceof value="org.eclipse.core.resources.IResource"/>
         </enablement>
      </actionProvider>

      <actionProvider
            id="org.eclipse.ui.tests.navigator.extension.[If this menu option shows, it is an INTENTIONAL ERROR from org.eclipse.ui.tests.navigator! A warning SHOULD appear in the log!]"
            class="org.eclipse.ui.tests.navigator.extension.TestActionProviderDependent"
            dependsOn="Invalid Id">
         <enablement>
            <instanceof value="org.eclipse.core.resources.IResource"/>
         </enablement>
      </actionProvider>
      
      <actionProvider
            id="org.eclipse.ui.tests.navigator.extension.[Second Dependent Action]"
            class="org.eclipse.ui.tests.navigator.extension.TestActionProviderDependent"
            dependsOn="org.eclipse.ui.tests.navigator.extension.DependentActionProvider">
         <enablement>
            <instanceof value="org.eclipse.core.resources.IResource"/>
         </enablement>
      </actionProvider>
      
      <actionProvider
            id="org.eclipse.ui.tests.navigator.extension.TestOverrideABLEActionProvider"
            class="org.eclipse.ui.tests.navigator.extension.TestActionProviderFiltered"
            priority="normal">
         <enablement>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </enablement>
      </actionProvider>

      <actionProvider
            id="org.eclipse.ui.tests.navigator.extension.TestOverridINGActionProvider1"
            class="org.eclipse.ui.tests.navigator.extension.TestActionProviderFiltered"
            overrides="org.eclipse.ui.tests.navigator.extension.TestOverrideABLEActionProvider"
            priority="high">
         <enablement>
            <instanceof
                  value="org.eclipse.core.resources.IFile">
            </instanceof>
         </enablement>
      </actionProvider>

      <actionProvider
            id="org.eclipse.ui.tests.navigator.extension.TestOverridINGActionProvider2"
            class="org.eclipse.ui.tests.navigator.extension.TestActionProviderFiltered"
            overrides="org.eclipse.ui.tests.navigator.extension.TestOverrideABLEActionProvider"
            priority="higher">
         <enablement>
         	<and>
            	<instanceof
                 	value="org.eclipse.core.resources.IFile" />
                <test property="org.eclipse.core.resources.extension" value="txt"/>
            </and> 
         </enablement>
      </actionProvider>

      <actionProvider
            id="org.eclipse.ui.tests.navigator.extension.TestOverridINGAndDependentActionProvider1"
            class="org.eclipse.ui.tests.navigator.extension.TestActionProviderDependent"
            overrides="org.eclipse.ui.tests.navigator.extension.TestOverrideABLEActionProvider"
            dependsOn="org.eclipse.ui.tests.navigator.extension.TestActionProvider"
            priority="high">
         <enablement>
            <instanceof
                  value="org.eclipse.core.resources.IFolder">
            </instanceof>
         </enablement>
      </actionProvider>

      <actionProvider
            id="org.eclipse.ui.tests.navigator.activityTest1"
            class="org.eclipse.ui.tests.navigator.extension.TestActionProviderFiltered"
            priority="high">
         <enablement>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </enablement>
      </actionProvider>

      <actionProvider
            id="org.eclipse.ui.tests.navigator.activityProviderTest"
            class="org.eclipse.ui.tests.navigator.extension.TestActionProviderBasic"
            priority="high">
         <enablement>
            <instanceof
                  value="org.eclipse.core.resources.IResource">
            </instanceof>
         </enablement>
      </actionProvider>

	 <!-- order of these should wind up being 2, 4, 1, 3-->
      <actionProvider
            id="org.eclipse.ui.tests.navigator.extension.TestActionProviderPriority1"
            class="org.eclipse.ui.tests.navigator.extension.TestActionProviderBasic">
         <enablement>
            <instanceof value="org.eclipse.core.resources.IResource"/>
         </enablement>
      </actionProvider>

      <actionProvider
            id="org.eclipse.ui.tests.navigator.extension.TestActionProviderPriority2"
            class="org.eclipse.ui.tests.navigator.extension.TestActionProviderBasic"
            appearsBefore="org.eclipse.ui.tests.navigator.extension.TestActionProviderPriority4">
         <enablement>
            <instanceof value="org.eclipse.core.resources.IResource"/>
         </enablement>
      </actionProvider>

      <actionProvider
            id="org.eclipse.ui.tests.navigator.extension.TestActionProviderPriority3"
            class="org.eclipse.ui.tests.navigator.extension.TestActionProviderBasic">
         <enablement>
            <instanceof value="org.eclipse.core.resources.IResource"/>
         </enablement>
      </actionProvider>

      <actionProvider
            id="org.eclipse.ui.tests.navigator.extension.TestActionProviderPriority4"
            class="org.eclipse.ui.tests.navigator.extension.TestActionProviderBasic"
            appearsBefore="org.eclipse.ui.tests.navigator.extension.TestActionProviderPriority1">
         <enablement>
            <instanceof value="org.eclipse.core.resources.IResource"/>
         </enablement>
      </actionProvider>

      <actionProvider
            id="org.eclipse.ui.tests.navigator.extension.TestActionProvider.237001.1"
	        class="org.eclipse.ui.tests.navigator.extension.TestActionProviderBasic"
	        overrides="org.eclipse.ui.tests.navigator.extension.TestActionProvider.237001.3">
	     <enablement>
	         <instanceof value="org.eclipse.core.resources.IResource"/>
	     </enablement>
	  </actionProvider>

      <actionProvider
            id="org.eclipse.ui.tests.navigator.extension.TestActionProvider.237001.2"
	        class="org.eclipse.ui.tests.navigator.extension.TestActionProviderBasic"
	        overrides="org.eclipse.ui.tests.navigator.extension.TestActionProvider.237001.3">
	     <enablement>
	         <instanceof value="org.eclipse.core.resources.IResource"/>
	     </enablement>
	  </actionProvider>

      <actionProvider
            id="org.eclipse.ui.tests.navigator.extension.TestActionProvider.237001.3"
	        class="org.eclipse.ui.tests.navigator.extension.TestActionProviderBasic">
	     <enablement>
	         <instanceof value="org.eclipse.core.resources.IResource"/>
	     </enablement>
	  </actionProvider>

      <commonFilter
            id="org.eclipse.ui.tests.navigator.filters.TestItemsThatEndWith3"
            class="org.eclipse.ui.tests.navigator.extension.TestFilterItemsThatEndIn3"
            description="Hide TestItem objects that end in the number &quot;3&quot;"
            name="TestItems that end with &quot;3&quot;"
            activeByDefault="true"
            /> 

      <commonFilter
            id="org.eclipse.ui.tests.navigator.filters.AllTestItems"
            description="Hides all instances of Test Item"
            name="A TestItem Exp Filter (should be sorted alphab..)">
         <filterExpression>
            <instanceof value="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData"/>
         </filterExpression>
      </commonFilter>      

      <commonFilter
            id="org.eclipse.ui.tests.navigator.filters.ErrantFilter"
            class="org.eclipse.ui.tests.navigator.extension.TestFilterItemsThatEndIn3"
            description="This filter specifies a class an an expression; selecting it should result in a warning in the log."
            name="An errant filter">
         <filterExpression>
            <instanceof value="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData"/>
         </filterExpression>
      </commonFilter>

      <commonFilter
            id="org.eclipse.ui.tests.navigator.filters.NoDescriptionFilter"
            name="No Description Filter">
         <filterExpression>
            <instanceof value="org.eclipse.ui.navigator.INavigatorContentService"/>
         </filterExpression>
      </commonFilter>

      <commonFilter
            id="org.eclipse.ui.tests.navigator.filters.p1"
            description="Hides p1 desc"
            name="Hides p1 name">
         <filterExpression>
			<and>
            	<instanceof
                	  value="org.eclipse.core.resources.IProject">
            	</instanceof>
                <test property="org.eclipse.core.resources.name" value="p1"/>
            </and>    
         </filterExpression>
      </commonFilter>      

      <commonFilter
            id="org.eclipse.ui.tests.navigator.filters.p2"
            description="Hides p2 desc"
            name="Hides p2 name">
         <filterExpression>
			<and>
            	<instanceof
                	  value="org.eclipse.core.resources.IProject">
            	</instanceof>
                <test property="org.eclipse.core.resources.name" value="p2"/>
            </and>    
         </filterExpression>
      </commonFilter>      

      <commonWizard
            associatedExtensionId="org.eclipse.ui.tests.navigator.testContent"
            menuGroupId="org.eclipse.ui.tests.navigator"
            type="import"
            wizardId="org.eclipse.ui.tests.navigator.SampleImportWizard">
         <enablement>
            <or>
				<instanceof value="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData"/>
				<instanceof value="org.eclipse.core.resources.IResource" />
			</or>         
         </enablement>
      </commonWizard>

      <commonWizard
            associatedExtensionId="org.eclipse.ui.tests.navigator.testContent"
            menuGroupId="org.eclipse.ui.tests.navigator"
            type="export"
            wizardId="org.eclipse.ui.tests.navigator.SampleExportWizard">
         <enablement>
            <or>
				<instanceof value="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData"/>
				<instanceof value="org.eclipse.core.resources.IResource" />
			</or>         
         </enablement>
      </commonWizard>

      <commonWizard
            associatedExtensionId="org.eclipse.ui.tests.navigator.testContent"
            menuGroupId="org.eclipse.ui.tests.navigator"
            type="new"
            wizardId="org.eclipse.ui.tests.navigator.SampleNewWizard">  
         <enablement>
            <or>
				<instanceof value="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData"/>
				<instanceof value="org.eclipse.core.resources.IResource" />
			</or>         
         </enablement>            
      </commonWizard>

      <commonWizard
            associatedExtensionId="org.eclipse.NotFound"
            menuGroupId="org.eclipse.ui.tests.navigator"
            type="new"
            wizardId="org.eclipse.ui.tests.navigator.SampleNewWizard2">  
         <enablement>
            <or>
				<instanceof value="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData"/>
				<instanceof value="org.eclipse.core.resources.IResource" />
			</or>         
         </enablement>            
      </commonWizard>
      
      <commonWizard
            associatedExtensionId="org.eclipse.ui.tests.navigator.testContent"
            menuGroupId="org.eclipse.ui.tests.navigator"
            type="new"
            wizardId="org.eclipse.ui.tests.navigator.activityTest1.SampleNewWizard2">  
         <enablement>
			<instanceof value="org.eclipse.core.resources.IResource" />
         </enablement>            
      </commonWizard>
      
      <!-- bug 204837 commonWizard with no pages displays empty dialog --> 
	  <commonWizard type="new"
            associatedExtensionId="org.eclipse.ui.tests.navigator.testContent"
            wizardId="org.eclipse.ui.editors.wizards.UntitledTextFileWizard"
            menuGroupId="org.eclipse.ui.tests.navigator">
         <enablement>
            <adapt type="org.eclipse.core.resources.IResource" /> 
         </enablement>
      </commonWizard>
   <commonFilter
         activeByDefault="true"
         id="org.eclipse.ui.tests.navigator.filters.nonvisibleactive"
         name="Non visible active filter"
         visibleInUI="false">
      <filterExpression>
         <not>
            <instanceof
                  value="java.lang.Object">
            </instanceof>
         </not>
      </filterExpression>
   </commonFilter>

   </extension>

   <extension
         point="org.eclipse.core.runtime.adapters">
      <factory
            adaptableType="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData"
            class="org.eclipse.ui.tests.navigator.extension.TestExtensionAdapterFactory">
         <adapter type="org.eclipse.core.resources.IResource"/>
         <adapter type="org.eclipse.core.resources.IFile"/>
      </factory>
   </extension>
   
   <!-- Verify decorator extension: Adds ">>" to Test Items that end in "3" --> 
   <extension
         point="org.eclipse.ui.decorators">
      <decorator
            class="org.eclipse.ui.tests.navigator.extension.TestLabelDecorator"
            id="org.eclipse.ui.tests.navigator.threeDecorator"
            label="Items that end in 3 decorator"
            lightweight="false"
            state="true">
         <enablement>
            <objectClass name="org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData"/>
         </enablement>
      </decorator>
      <decorator
            class="org.eclipse.ui.tests.navigator.extension.DecorationSchedulerRaceConditionTestDecorator"
            id="org.eclipse.ui.tests.navigator.bug417255Decorator"
            label="Bug 417255 Decorator"
            lightweight="true"
            state="false">
         <enablement>
            <objectClass
                  name="org.eclipse.core.resources.IProject">
            </objectClass>
         </enablement>
      </decorator>
   </extension>
   
   <extension
         point="org.eclipse.ui.activities">
      <activityPatternBinding
            activityId="org.eclipse.ui.tests.navigator.testActivity"
            pattern="org\.eclipse\.ui\.tests\.navigator/org\.eclipse\.ui\.tests\.navigator\.activityTest.*"/>
      <activityPatternBinding
            activityId="org.eclipse.ui.tests.navigator.testActivityProvider"
            pattern="org\.eclipse\.ui\.tests\.navigator/org\.eclipse\.ui\.tests\.navigator\.activityProviderTest"/>
      <activity
            description="Common Navigator Test Activity"
            id="org.eclipse.ui.tests.navigator.testActivity"
            name="CN Test">
      </activity>
      <activity
            description="Common Navigator Test Provider Activity"
            id="org.eclipse.ui.tests.navigator.testActivityProvider"
            name="CN Test Provider">
      </activity>
      <category
            id="org.eclipse.ui.tests.navigator.category1"
            name="CN Test Category">
      </category>
      <categoryActivityBinding
            activityId="org.eclipse.ui.tests.navigator.testActivity"
            categoryId="org.eclipse.ui.tests.navigator.category1">
      </categoryActivityBinding> 
   </extension>
   
   <extension
         point="org.eclipse.ui.newWizards">
      <wizard
            class="org.eclipse.ui.tests.navigator.wizards.NewWizard1"
            id="org.eclipse.ui.tests.navigator.SampleNewWizard"
            name="Test CNF New Wizard1 (Does Nothing)"/>
      <wizard
            class="org.eclipse.ui.tests.navigator.wizards.NewWizard1"
            id="org.eclipse.ui.tests.navigator.SampleNewWizard2"
            name="Test CNF New Wizard2 (Does Nothing)"/>
      <wizard
            class="org.eclipse.ui.tests.navigator.wizards.NewWizard1"
            id="org.eclipse.ui.tests.navigator.activityTest1.SampleNewWizard2"
            name="Test CNF Activity New Wizard (Activity Test)"/>
   </extension>
   
   <extension
         point="org.eclipse.ui.importWizards">
      <wizard
            class="org.eclipse.ui.tests.navigator.wizards.ImportWizard1"
            id="org.eclipse.ui.tests.navigator.SampleImportWizard"
            name="Test CNF Import Wizard  (Does Nothing)"/>
   </extension>
  
   <extension
         point="org.eclipse.ui.exportWizards">
      <wizard
            class="org.eclipse.ui.tests.navigator.wizards.ExportWizard1"
            id="org.eclipse.ui.tests.navigator.SampleExportWizard"
            name="Test CNF Export Wizard  (Does Nothing)"/>
   </extension>
   
   <extension
         point="org.eclipse.ui.menus">
	<menuContribution
            locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu">
         <menu
            label="Test Using Command">
            <command
                  commandId="org.eclipse.ui.edit.copy">
            </command>
         </menu>
      </menuContribution>
   </extension>
   <extension
         point="org.eclipse.ui.navigator.linkHelper">
      <linkHelper
            class="org.eclipse.ui.tests.navigator.extension.TestLinkHelper"
            id="org.eclipse.ui.tests.navigator.linkHelper">
         <editorInputEnablement>
            <instanceof
                  value="org.eclipse.ui.IFileEditorInput">
            </instanceof>
         </editorInputEnablement>
         <selectionEnablement>
            <instanceof
                  value="org.eclipse.core.resources.IFile">
            </instanceof>
         </selectionEnablement>
      </linkHelper>
   </extension>
   


</plugin>
