Source:
<code>protected @Nullable List<ITimeEvent> getEventList(TimeGraphEntry tgentry, long startTime, long endTime, long resolution, IProgressMonitor monitor) { List<ITimeEvent> eventList = null; if (!(tgentry instanceof ControlFlowEntry)) { return eventList; } ControlFlowEntry entry = (ControlFlowEntry) tgentry; final long realStart = Math.max(startTime, entry.getStartTime()); final long realEnd = Math.min(endTime, entry.getEndTime()); if (realEnd <= realStart) { return null; } LttngKernelAnalysis kernelAnalysis = TmfTraceUtils.getAnalysisModuleOfClass(entry.getTrace(), LttngKernelAnalysis.class, LttngKernelAnalysis.ID); if (kernelAnalysis == null) { return null; } try { List<ITmfStateInterval> statusIntervals = kernelAnalysis.getStatusIntervalsForThread(entry.getThreadQuark(), realStart, realEnd, resolution, monitor); eventList = new ArrayList<>(statusIntervals.size()); long lastEndTime = -1; for (ITmfStateInterval statusInterval : statusIntervals) { if (monitor.isCanceled()) { return null; } long time = statusInterval.getStartTime(); long duration = statusInterval.getEndTime() - time + 1; int status = -1; try { status = statusInterval.getStateValue().unboxInt(); } catch (StateValueTypeException e) { e.printStackTrace(); } if (lastEndTime != time && lastEndTime != -1) { eventList.add(new TimeEvent(entry, lastEndTime, time - lastEndTime)); } eventList.add(new TimeEvent(entry, time, duration, status)); lastEndTime = time + duration; } } catch (TimeRangeException e) { <START> Activator.getDefault().logError(e.getMessage()); <END> } return eventList; }</code><technical_language>Yes! Drive fix</technical_language>

Target:
protected @Nullable List<ITimeEvent> getEventList(TimeGraphEntry tgentry, long startTime, long endTime, long resolution, IProgressMonitor monitor) { List<ITimeEvent> eventList = null; if (!(tgentry instanceof ControlFlowEntry)) { return eventList; } ControlFlowEntry entry = (ControlFlowEntry) tgentry; final long realStart = Math.max(startTime, entry.getStartTime()); final long realEnd = Math.min(endTime, entry.getEndTime()); if (realEnd <= realStart) { return null; } LttngKernelAnalysis kernelAnalysis = TmfTraceUtils.getAnalysisModuleOfClass(entry.getTrace(), LttngKernelAnalysis.class, LttngKernelAnalysis.ID); if (kernelAnalysis == null) { return null; } try { List<ITmfStateInterval> statusIntervals = LttngKernelThreadInformationProvider.getStatusIntervalsForThread(kernelAnalysis, entry.getThreadId(), realStart, realEnd, resolution, monitor); eventList = new ArrayList<>(statusIntervals.size()); long lastEndTime = -1; for (ITmfStateInterval statusInterval : statusIntervals) { if (monitor.isCanceled()) { return null; } long time = statusInterval.getStartTime(); long duration = statusInterval.getEndTime() - time + 1; int status = -1; try { status = statusInterval.getStateValue().unboxInt(); } catch (StateValueTypeException e) { e.printStackTrace(); } if (lastEndTime != time && lastEndTime != -1) { eventList.add(new TimeEvent(entry, lastEndTime, time - lastEndTime)); } eventList.add(new TimeEvent(entry, time, duration, status)); lastEndTime = time + duration; } } catch (TimeRangeException e) { Activator.getDefault().logError(e.getMessage()); } return eventList; }