Bug 28082 creating a project in java perspective updates labels in browsing perspective
i created a project in the java perspective stuff in the browsign perspective was called as well there should be no reason for it here's what was called: at org.eclipse.jdt.ui.ProblemsLabelDecorator.getErrorTicksFromMarkers (ProblemsLabelDecorator.java:203) at org.eclipse.jdt.ui.ProblemsLabelDecorator.computeAdornmentFlags (ProblemsLabelDecorator.java:156) at org.eclipse.jdt.ui.ProblemsLabelDecorator.decorateImage (ProblemsLabelDecorator.java:139) at org.eclipse.jdt.internal.ui.viewsupport.JavaUILabelProvider.getImage (JavaUILabelProvider.java:108) at org.eclipse.jface.viewers.DecoratingLabelProvider.getImage (DecoratingLabelProvider.java:67) at org.eclipse.jface.viewers.TreeViewer.doUpdateItem(TreeViewer.java:83) at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem (AbstractTreeViewer.java:363) at org.eclipse.jface.viewers.StructuredViewer.updateItem (StructuredViewer.java:1132) at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem (AbstractTreeViewer.java:267) at org.eclipse.jface.viewers.AbstractTreeViewer.add (AbstractTreeViewer.java:139) at org.eclipse.jdt.internal.ui.browsing.JavaBrowsingContentProvider$3.run (JavaBrowsingContentProvider.java:418) at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:123) at org.eclipse.ui.internal.UISynchronizer.syncExec (UISynchronizer.java:18) at org.eclipse.swt.widgets.Display.syncExec(Display.java:1979) at org.eclipse.jdt.internal.ui.browsing.JavaBrowsingContentProvider.postRunnable (JavaBrowsingContentProvider.java:488) at org.eclipse.jdt.internal.ui.browsing.JavaBrowsingContentProvider.postAdd (JavaBrowsingContentProvider.java:405) at org.eclipse.jdt.internal.ui.browsing.JavaBrowsingContentProvider.postAdd (JavaBrowsingContentProvider.java:398) at org.eclipse.jdt.internal.ui.browsing.JavaBrowsingContentProvider.processDelta (JavaBrowsingContentProvider.java:305) at org.eclipse.jdt.internal.ui.browsing.JavaBrowsingContentProvider.processDelta (JavaBrowsingContentProvider.java:359) at org.eclipse.jdt.internal.ui.browsing.JavaBrowsingContentProvider.elementChanged (JavaBrowsingContentProvider.java:221) at org.eclipse.jdt.internal.core.JavaModelManager$3.run (JavaModelManager.java:718) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:843) at org.eclipse.core.runtime.Platform.run(Platform.java:413)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/browsing/JavaBrowsingPart.java
return false;
	}
	private boolean isInputResetBy(IWorkbenchPart part) {
		if (!(part instanceof JavaBrowsingPart))
			return true;
		Object thisInput= getViewer().getInput();
		Object partInput= ((JavaBrowsingPart)part).getViewer().getInput();
		
		if(thisInput instanceof Collection)
			thisInput= ((Collection)thisInput).iterator().next();
		if(partInput instanceof Collection)
			partInput= ((Collection)partInput).iterator().next();
			
		if (thisInput instanceof IJavaElement && partInput instanceof IJavaElement)
			return getTypeComparator().compare(partInput, thisInput) > 0;
		else
			return true;
	}
	protected boolean isAncestorOf(Object ancestor, Object element) {
		if (element instanceof IJavaElement && ancestor instanceof IJavaElement)
			return !element.equals(ancestor) && internalIsAncestorOf((IJavaElement)ancestor, (IJavaElement)element);
		return false;
	}
	
	private boolean internalIsAncestorOf(IJavaElement ancestor, IJavaElement element) {
		if (element != null)
			return element.equals(ancestor) || internalIsAncestorOf(ancestor, element.getParent());
		else
			return false;
	}