Bug 231119 [GlobalActions] RefreshAction markes as @noextend but should be
3.4 Javadoc says: * This class may be instantiated; it may also subclass to extend: * .... The tag * @noextend This class is not intended to be subclassed by clients. got added, which is different. In JDT we subclass RefreshAction to add extra operations to refresh.
bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RefreshAction.java
* 
	 * @param resource
	 *            the resource to refresh. Must not be <code>null</code>.
	 * @param monitor
	 *            progress monitor
	 * @throws CoreException
	 *             if things go wrong
	 * @since 3.4
	 */
	protected void refreshResource(IResource resource, IProgressMonitor monitor)
			throws CoreException {
		
		
		
		
		if (resource.getType() == IResource.PROJECT) {
			checkLocationDeleted((IProject) resource);
		} else if (resource.getType() == IResource.ROOT) {
			IProject[] projects = ((IWorkspaceRoot) resource).getProjects();
			for (int i = 0; i < projects.length; i++) {
				checkLocationDeleted(projects[i]);
			}
		}
		resource.refreshLocal(IResource.DEPTH_INFINITE, monitor);
	}
	
	/* (non-Javadoc)
	 * @see org.eclipse.ui.actions.WorkspaceAction#run()
	 */
	public void run() {