class HeapDumpSampleDataSeries extends CaptureDataSeries<CaptureObject> {

  @Override
  public List<SeriesData<CaptureDurationData<CaptureObject>>> getDataForRange(Range range) {
    List<HeapDumpInfo> infos =
      MemoryProfiler.getHeapDumpsForSession(myClient, mySession, range, myStage.getStudioProfilers().getIdeServices());

    List<SeriesData<CaptureDurationData<CaptureObject>>> seriesData = new ArrayList<>();
    for (HeapDumpInfo info : infos) {
      seriesData.add(new SeriesData<>(
        getHostTime(info.getStartTime()),
        new CaptureDurationData<>(
          getDurationUs(info.getStartTime(), info.getEndTime()), false, false,
          new CaptureEntry<>(
            info,
            () -> new HeapDumpCaptureObject(myClient, mySession, info, null, myFeatureTracker, myStage)))));
    }

    return seriesData;
  }

  public  HeapDumpSampleDataSeries(@NotNull ProfilerClient client,
                                  @Nullable Common.Session session,
                                  @NotNull FeatureTracker featureTracker,
                                  @NotNull MemoryProfilerStage stage);

}