Source:
<code>protected IStatus run(@Nullable IProgressMonitor monitor) { final IProgressMonitor statusMonitor = monitor; if (statusMonitor == null) { return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Monitor is null"); } ISegmentStoreProvider segmentProvider = getSegmentProvider(); final long startTimeInNanos = fCurrentRange.getStartTime().toNanos(); final long endTimeInNanos = fCurrentRange.getEndTime().toNanos(); if (segmentProvider == null) { setWindowRange(startTimeInNanos, endTimeInNanos); redraw(statusMonitor, startTimeInNanos, startTimeInNanos, Collections.EMPTY_LIST); return new Status(IStatus.WARNING, Activator.PLUGIN_ID, "segment provider not available"); } final ISegmentStore<ISegment> segStore = segmentProvider.getSegmentStore(); if (segStore == null) { setWindowRange(startTimeInNanos, endTimeInNanos); redraw(statusMonitor, startTimeInNanos, startTimeInNanos, Collections.EMPTY_LIST); return new Status(IStatus.INFO, Activator.PLUGIN_ID, "Segment provider does not have segments"); } final long startTime = fCurrentRange.getStartTime().getValue(); final long endTime = fCurrentRange.getEndTime().getValue(); fPixelStart = startTime; <START> fPixelSize = (long) Math.max(1.0, (endTime - startTime) / MAX_POINTS); <END> final Iterable<ISegment> intersectingElements = segStore.getIntersectingElements(startTime, endTime); final List<ISegment> list = convertIterableToList(intersectingElements, statusMonitor); final List<ISegment> displayData = (!list.isEmpty()) ? compactList(startTime, list, statusMonitor) : list; setWindowRange(startTimeInNanos, endTimeInNanos); redraw(statusMonitor, startTime, endTime, displayData); if (statusMonitor.isCanceled()) { return Status.CANCEL_STATUS; } return Status.OK_STATUS; }</code><technical_language>is this a double? fPixelSize is a long</technical_language>

Target:
protected IStatus run(@Nullable IProgressMonitor monitor) { final IProgressMonitor statusMonitor = monitor; if (statusMonitor == null) { return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Monitor is null"); } ISegmentStoreProvider segmentProvider = getSegmentProvider(); final long startTimeInNanos = fCurrentRange.getStartTime().toNanos(); final long endTimeInNanos = fCurrentRange.getEndTime().toNanos(); if (segmentProvider == null) { setWindowRange(startTimeInNanos, endTimeInNanos); redraw(statusMonitor, startTimeInNanos, startTimeInNanos, Collections.EMPTY_LIST); return new Status(IStatus.WARNING, Activator.PLUGIN_ID, "segment provider not available"); } final ISegmentStore<ISegment> segStore = segmentProvider.getSegmentStore(); if (segStore == null) { setWindowRange(startTimeInNanos, endTimeInNanos); redraw(statusMonitor, startTimeInNanos, startTimeInNanos, Collections.EMPTY_LIST); return new Status(IStatus.INFO, Activator.PLUGIN_ID, "Segment provider does not have segments"); } final long startTime = fCurrentRange.getStartTime().getValue(); final long endTime = fCurrentRange.getEndTime().getValue(); fPixelStart = startTime; fPixelSize = Math.max(1, (endTime - startTime) / MAX_POINTS); final Iterable<ISegment> intersectingElements = segStore.getIntersectingElements(startTime, endTime); final List<ISegment> list = convertIterableToList(intersectingElements, statusMonitor); final List<ISegment> displayData = (!list.isEmpty()) ? compactList(startTime, list, statusMonitor) : list; setWindowRange(startTimeInNanos, endTimeInNanos); redraw(statusMonitor, startTime, endTime, displayData); if (statusMonitor.isCanceled()) { return Status.CANCEL_STATUS; } return Status.OK_STATUS; }