@Override public void onAfterUpdatePendingChanges(final PendingChangeCacheEvent event,final boolean modifiedDuringOperation){
  boolean fullRefresh=false;
  IResource[] resources=null;
synchronized (refreshLock) {
    if (--refreshDefer < 0) {
      refreshDefer=0;
    }
    if (refreshDefer > 0) {
      return;
    }
    if (refreshWorkspace) {
      fullRefresh=true;
    }
 else {
      resources=resourceList.toArray(new IResource[resourceList.size()]);
    }
    resourceList.clear();
    refreshWorkspace=false;
  }
  if (fullRefresh) {
    refresh();
  }
 else   if (resources != null && resources.length > 0) {
    refresh(resources);
  }
}

@ Override public void onAfterUpdatePendingChanges ( final PendingChangeCacheEvent event , final boolean modifiedDuringOperation ) { boolean fullRefresh = false ; IResource [ ] resources = null ; synchronized ( refreshLock ) { if ( -- refreshDefer < 0 ) { refreshDefer = 0 ; } if ( refreshDefer > 0 ) { return ; } if ( refreshWorkspace ) { fullRefresh = true ; } else { resources = resourceList . toArray ( new IResource [ resourceList . size ( ) ] ) ; } resourceList . clear ( ) ; refreshWorkspace = false ; } if ( fullRefresh ) { refresh ( ) ; } else if ( resources != null && resources . length > 0 ) { refresh ( resources ) ; } }
handle pending change completed action - send out our batch of resource updates .
