Bug 27561 ProblemsLabelDecorator.getErrorTicksFromWorkingCopy should avoid calling exists()
input for 20021203 calling exists() is expensive ironically, it may be cheaper to let the exception happen (we do not expect it to heppen to frequently), catch it and do the right thing will attach profile showing that method taking 8% of time needed to open java editor
org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/ProblemsLabelDecorator.java
/**
	 * This is a special <code>LabelProviderChangedEvent</code> carring additional 
	 * information whether the event orgins from a maker change.
	 * <p>
	 * <code>ProblemsLabelChangedEvent</code>s are only generated by <code>
	 * ProblemsLabelDecorator</code>s.
	 * </p>
	 */
	public static class ProblemsLabelChangedEvent extends LabelProviderChangedEvent {
		private boolean fMarkerChange;
		/**
		 * Note: This constructor is for internal use only. Clients should not call this constructor.
		 */
		public ProblemsLabelChangedEvent(IBaseLabelProvider source, IResource[] changedResource, boolean isMarkerChange) {
			super(source, changedResource);
			fMarkerChange= isMarkerChange;
		}
		
		/**
		 * Returns whether this event origins from marker changes. If <code>false</code> an annotation 
		 * model change is the origin. In this case viewers not displaying working copies can ignore these 
		 * events.
		 * 
		 * @return if this event origins from a marker change.