Bug 221337 [Markers] MarkerItem has too much API
We are exposing too much as API in MarkerItem. We should only provide getAtttributeValue and the methods that support PATH_ATTRIBUTE and NAME_ATTRIBUTE as they are tricky. Everything else needs to be pushed down to an internal class. We should mention the relevant IMarker constants for those removed.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerSupportInternalUtilities.java
static final String ATTRIBUTE_CLASS = "class"; 
	static final CollationKey EMPTY_COLLATION_KEY = Collator.getInstance()
			.getCollationKey(MarkerSupportConstants.EMPTY_STRING);
	static final IMarker[] EMPTY_MARKER_ARRAY = new IMarker[0];
	static final MarkerItem[] EMPTY_MARKER_ITEM_ARRAY = new MarkerItem[0];
	static final IResource[] EMPTY_RESOURCE_ARRAY = new IResource[0];
	static final Object CONTAINS_MODIFIER_TOKEN = new Object();
	static final Object CONTAINS_TEXT_TOKEN = new Object();
	/**
	 * A constant to map migration to the filter being migrated
	 */
	public static final String MIGRATE_PREFERENCE_CONSTANT = "_MIGRATE"; 
	/**
	 * Constant for the problem filters migration.
	 */
	public static final String MIGRATE_PROBLEM_FILTERS = IDEInternalPreferences.PROBLEMS_FILTERS
			+ MIGRATE_PREFERENCE_CONSTANT;
	/**
	 * Constant for the task filters migration.
	 */
	public static final String MIGRATE_TASK_FILTERS = IDEInternalPreferences.TASKS_FILTERS
			+ MIGRATE_PREFERENCE_CONSTANT;
	/**
	 * Constant for the bookmark filters migration.