Bug 183602 [EditorMgmt] provide API for restoring multiple editors without materialization
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDE.java
*/
	private static class SaveFilter implements ISaveableFilter {
		private final IResource[] roots;
		/**
		 * Create the filter
		 * @param roots the save roots
		 */
		public SaveFilter(IResource[] roots) {
			this.roots = roots;
		}
		
		/* (non-Javadoc)
		 * @see org.eclipse.ui.ISaveableFilter#select(org.eclipse.ui.Saveable, org.eclipse.ui.IWorkbenchPart[])
		 */
		public boolean select(Saveable saveable,
				IWorkbenchPart[] containingParts) {
			if (isDescendantOfRoots(saveable)) {
				return true;
			}
			
			for (int i = 0; i < containingParts.length; i++) {
				IWorkbenchPart workbenchPart = containingParts[i];
				if (workbenchPart instanceof IEditorPart) {
					IEditorPart editorPart = (IEditorPart) workbenchPart;
					if (isEditingDescendantOf(editorPart)) {
						return true;
					}
				}
			}
			return false;