/** @generated */
 protected void disposeElementInfo(Object element, ElementInfo info) {
   if (info instanceof ResourceSetInfo) {
     ResourceSetInfo resourceSetInfo = (ResourceSetInfo) info;
     resourceSetInfo.dispose();
   }
   super.disposeElementInfo(element, info);
 }
 /** @generated */
 protected void doUpdateStateCache(Object element) throws CoreException {
   ResourceSetInfo info = getResourceSetInfo(element);
   if (info != null) {
     info.setUpdateCache(true);
   }
   super.doUpdateStateCache(element);
 }
 /** @generated */
 protected void doSynchronize(Object element, IProgressMonitor monitor) throws CoreException {
   ResourceSetInfo info = getResourceSetInfo(element);
   if (info != null) {
     for (Iterator<Resource> it = info.getLoadedResourcesIterator(); it.hasNext(); ) {
       Resource nextResource = it.next();
       handleElementChanged(info, nextResource, monitor);
     }
     return;
   }
   super.doSynchronize(element, monitor);
 }
  /** @generated */
  protected void doValidateState(Object element, Object computationContext) throws CoreException {
    ResourceSetInfo info = getResourceSetInfo(element);
    if (info != null) {
      Collection files2Validate = new ArrayList();
      for (Iterator it = info.getResourceSet().getResources().iterator(); it.hasNext(); ) {
        Resource nextResource = (Resource) it.next();
        IFile file = WorkspaceSynchronizer.getFile(nextResource);
        if (file != null && file.isReadOnly()) {
          files2Validate.add(file);
        }
      }
      ResourcesPlugin.getWorkspace()
          .validateEdit(
              (IFile[]) files2Validate.toArray(new IFile[files2Validate.size()]),
              computationContext);
    }

    super.doValidateState(element, computationContext);
  }