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
.getFirstElement();
			FilterCopy copy = new FilterCopy(filter);
			copy.setParent(filter.getParent());
			FilterEditDialog dialog = new FilterEditDialog(shell, copy);
			if (dialog.open() == Window.OK) {
				if (copy.hasChanged()) {
					filter.copy(copy);
					filterView.refresh();
				}
			}
		}
	}
	private FilterCopy[] getFilterCopySelection() {
		ISelection selection = filterView.getSelection();
		IStructuredSelection structuredSelection = null;
		if (selection instanceof IStructuredSelection) {
			structuredSelection = ((IStructuredSelection) selection);
			FilterCopy[] tmp = new FilterCopy[structuredSelection.size()];
			System.arraycopy(structuredSelection.toArray(), 0, tmp, 0,
					tmp.length);
			return tmp;
		}
		return new FilterCopy[0];
	}
	private void handleRemove() {
		ISelection selection = filterView.getSelection();
		IStructuredSelection structuredSelection = null;
		if (selection instanceof IStructuredSelection) {
			structuredSelection = ((IStructuredSelection) selection);
			Iterator it = structuredSelection.iterator();