Bug 291755 [Filters] Filters implementation and API cleanup
This bug is raised to track reviewing and cleanup of filters API and implementation.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceFilterGroup.java
descriptor = AbstractUIPlugin.imageDescriptorFromPlugin(
				IDEWorkbenchPlugin.IDE_WORKBENCH,
				"$nl$/icons/full/obj16/folderType_filter.gif"); 
		if (descriptor != null)
			folderIcon = descriptor.createImage();
		descriptor = AbstractUIPlugin.imageDescriptorFromPlugin(
				IDEWorkbenchPlugin.IDE_WORKBENCH,
				"$nl$/icons/full/obj16/fileFolderType_filter.gif"); 
		if (descriptor != null)
			fileFolderIcon = descriptor.createImage();
		descriptor = AbstractUIPlugin.imageDescriptorFromPlugin(
				IDEWorkbenchPlugin.IDE_WORKBENCH,
				"$nl$/icons/full/obj16/includeMode_filter.gif"); 
		if (descriptor != null)
			includeIcon = descriptor.createImage();
		descriptor = AbstractUIPlugin.imageDescriptorFromPlugin(
				IDEWorkbenchPlugin.IDE_WORKBENCH,
				"$nl$/icons/full/obj16/excludeMode_filter.gif"); 
		if (descriptor != null)
			excludeIcon = descriptor.createImage();
	}
	Image getImage(String string, int i) {
		if (string.equals(MODE))
			return new Image[] { includeIcon, excludeIcon }[i];
		if (string.equals(TARGET))
			return new Image[] { fileIcon, folderIcon, fileFolderIcon }[i];
		return null;
	}
}
class FilterCopy implements IResourceFilter {