IResource schedulingRule= ResourcesPlugin.getWorkspace().getRoot(); if (value.input != null) { schedulingRule= value.input.getFile(); if (schedulingRule != null) schedulingRule= schedulingRule.getParent(); }
	public void commitChanges(final TextBuffer buffer, boolean force, IProgressMonitor monitor) throws CoreException {		final Value value= (Value)fBufferValueMap.get(buffer);		if (value == null)			return;				boolean save= force || fDocumentProvider.mustSaveDocument(value.input);		if (save) {			IWorkspaceRunnable action= new IWorkspaceRunnable() {				public void run(IProgressMonitor pm) throws CoreException {					IStatus status= makeCommittable(value, null);					if (!status.isOK())						throw new ValidateEditException(status);					fDocumentProvider.aboutToChange(value.input);					fDocumentProvider.saveDocument(pm, value.input, value.document, true);				}			};			try {				ResourcesPlugin.getWorkspace().run(action, monitor);			} finally {				fDocumentProvider.changed(value.input);			}		}	}