code: public double getElapsedTimeLastThread(int stage) {
  	   if (stage == ProfilingEvent.START.ordinal()) {
             return 0;    
  	   }
  	   
  	   Accumulator acc = lastAccumulator.get();
  
  	   return acc == null ? Double.NaN : (acc.currentTimes[stage] - acc.currentTimes[stage - 1]) / MILLION;
     }
docs: Elapsed time for a single event only and for the last thread that finished executing a kernel,
  i.e. single event only - since the previous stage rather than from the start.
  @param stage the event stage