Source:
<code>protected @Nullable List<ITimeEvent> getEventList(TimeGraphEntry tgentry, @Nullable ITmfStateSystem ss, List<List<ITmfStateInterval>> fullStates, @Nullable List<ITmfStateInterval> prevFullState, IProgressMonitor monitor) { if (!(tgentry instanceof DiskRequestsQueuedEntry)) { return null; } DiskRequestsQueuedEntry entry = (DiskRequestsQueuedEntry) tgentry; int quark = entry.getQuark(); List<ITimeEvent> eventList = new ArrayList<>(fullStates.size()); ITmfStateInterval lastInterval = prevFullState == null || quark >= prevFullState.size() ? null : prevFullState.get(quark); <START> long lastStartTime = lastInterval == null ? -1 : lastInterval.getStartTime(); <END> long lastEndTime = lastInterval == null ? -1 : lastInterval.getEndTime() + 1; for (List<ITmfStateInterval> fullState : fullStates) { if (monitor.isCanceled()) { return null; } if (quark >= fullState.size()) { continue; } ITmfStateInterval requestInterval = fullState.get(quark); long time = requestInterval.getStartTime(); if (time == lastStartTime) { continue; } long duration = requestInterval.getEndTime() - time + 1; if (!requestInterval.getStateValue().isNull()) { int status = requestInterval.getStateValue().unboxInt(); if (lastEndTime != time && lastEndTime != -1) { eventList.add(new TimeEvent(entry, lastEndTime, time - lastEndTime)); } DiskRequest request = entry.getDiskRequestFrom(fullState); if (request == null) { eventList.add(new TimeEvent(entry, time, duration, status)); } else { eventList.add(new RequestEvent(entry, time, duration, status, request)); } } else { eventList.add(new NullTimeEvent(entry, time, duration)); } lastStartTime = time; lastEndTime = time + duration; } return eventList; }</code><technical_language>1 a time is plausible embedded systems, I recommend Long.MIN_VALUE</technical_language>

Target:
protected @Nullable List<ITimeEvent> getEventList(TimeGraphEntry tgentry, @Nullable ITmfStateSystem ss, List<List<ITmfStateInterval>> fullStates, @Nullable List<ITmfStateInterval> prevFullState, IProgressMonitor monitor) { if (!(tgentry instanceof DiskRequestsQueuedEntry)) { return null; } DiskRequestsQueuedEntry entry = (DiskRequestsQueuedEntry) tgentry; int quark = entry.getQuark(); List<ITimeEvent> eventList = new ArrayList<>(fullStates.size()); ITmfStateInterval lastInterval = prevFullState == null || quark >= prevFullState.size() ? null : prevFullState.get(quark); long lastStartTime = lastInterval == null ? Long.MIN_VALUE : lastInterval.getStartTime(); long lastEndTime = lastInterval == null ? Long.MIN_VALUE : lastInterval.getEndTime() + 1; for (List<ITmfStateInterval> fullState : fullStates) { if (monitor.isCanceled()) { return null; } if (quark >= fullState.size()) { continue; } ITmfStateInterval requestInterval = fullState.get(quark); long time = requestInterval.getStartTime(); if (time == lastStartTime) { continue; } long duration = requestInterval.getEndTime() - time + 1; if (!requestInterval.getStateValue().isNull()) { int status = requestInterval.getStateValue().unboxInt(); if (lastEndTime != time && lastEndTime != -1) { eventList.add(new TimeEvent(entry, lastEndTime, time - lastEndTime)); } DiskRequest request = entry.getDiskRequestFrom(fullState); if (request == null) { eventList.add(new TimeEvent(entry, time, duration, status)); } else { eventList.add(new RequestEvent(entry, time, duration, status, request)); } } else { eventList.add(new NullTimeEvent(entry, time, duration)); } lastStartTime = time; lastEndTime = time + duration; } return eventList; }