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/views/markers/MarkerItem.java
if (attribute == IMarker.MESSAGE)
			return getDescription();
		return defaultValue;
	}
	/**
	 * Get the children of the node.
	 * 
	 * @return MarkerNode[]
	 */
	public abstract MarkerItem[] getChildren();
	/**
	 * Get the CollationKey for the string attribute.
	 * 
	 * @param attribute
	 * @param defaultValue
	 *            the defaultValue if the value is not set
	 * @return CollationKey
	 */
	public CollationKey getCollationKey(String attribute, String defaultValue) {
		if (collationKey == null)
			collationKey = Collator.getInstance().getCollationKey(
					getDescription());
		return collationKey;
	}
	/**
	 * Get a concrete marker from the receiver. If the receiver is concrete
	 * return the receiver otherwise return one of the concrete markers it
	 * contains.
	 *