private boolean stopTrackingJob(JobStatus jobStatus){
  boolean removed;
  boolean rocking;
synchronized (mJobs) {
    removed=mJobs.remove(jobStatus);
    rocking=mReadyToRock;
  }
  if (removed && rocking) {
    for (int i=0; i < mControllers.size(); i++) {
      StateController controller=mControllers.get(i);
      controller.maybeStopTrackingJob(jobStatus);
    }
  }
  return removed;
}

private boolean stopTrackingJob ( JobStatus jobStatus ) { boolean removed ; boolean rocking ; synchronized ( mJobs ) { removed = mJobs . remove ( jobStatus ) ; rocking = mReadyToRock ; } if ( removed && rocking ) { for ( int i = 0 ; i < mControllers . size ( ) ; i ++ ) { StateController controller = mControllers . get ( i ) ; controller . maybeStopTrackingJob ( jobStatus ) ; } } return removed ; }
called when we want to remove a jobstatus object that we ' ve finished executing . returns the object removed .
