Source:
<code>public @NonNull List<@NonNull IMarkerEvent> getMarkerList(@NonNull String category, long startTime, long endTime, long resolution, @NonNull IProgressMonitor monitor) { ITmfTrace activeTrace = TmfTraceManager.getInstance().getActiveTrace(); if (activeTrace == null) { return Collections.emptyList(); } ContextDataSource dataProvider = DataProviderManager.getInstance().getDataProvider(activeTrace, ContextDataSource.ID, ContextDataSource.class); if (dataProvider == null) { return Collections.emptyList(); } TmfModelResponse<@NonNull List<@NonNull <START> TimeGraphEntryModel>> tree = dataProvider.fetchTree(new TimeQueryFilter(Collections.emptyList()), monitor); List<@NonNull TimeGraphEntryModel> treeModels = tree.getModel(); if (treeModels == null) { return Collections.emptyList(); } List<Long> ids = new ArrayList<>(); for (TmfTreeDataModel treeModel : treeModels) { if (treeModel.getName().startsWith(category)) { ids.add(treeModel.getId()); } } <END> TmfModelResponse<@NonNull List<@NonNull ITimeGraphRowModel>> res = dataProvider.fetchRowModel(new SelectionTimeQueryFilter(startTime, endTime, (int) Math.max(2, (((double) endTime - startTime) / resolution)), ids), monitor); List<@NonNull ITimeGraphRowModel> rowModels = res.getModel(); if (rowModels == null || rowModels.isEmpty()) { return Collections.emptyList(); } List<IMarkerEvent> events = new ArrayList<>(); for (ITimeGraphRowModel rowModel : rowModels) { for (ITimeGraphState model : rowModel.getStates()) { if (model instanceof MarkerModel) { events.add(new MarkerEvent(null, model.getStartTime(), model.getDuration(), ((MarkerModel) model).getCategory(), ONE_TRUE_COLOUR, model.getLabel(), true)); } } } return events; }</code><technical_language>cached tree here</technical_language>

Target:
public @NonNull List<@NonNull IMarkerEvent> getMarkerList(@NonNull String category, long startTime, long endTime, long resolution, @NonNull IProgressMonitor monitor) { ITmfTrace activeTrace = TmfTraceManager.getInstance().getActiveTrace(); if (activeTrace == null) { return Collections.emptyList(); } ContextDataProvider dataProvider = DataProviderManager.getInstance().getDataProvider(activeTrace, ContextDataProvider.ID, ContextDataProvider.class); if (dataProvider == null) { return Collections.emptyList(); } TmfModelResponse<@NonNull List<@NonNull TimeGraphEntryModel>> tree = dataProvider.fetchTree(new TimeQueryFilter(Collections.emptyList()), monitor); List<@NonNull TimeGraphEntryModel> treeModels = tree.getModel(); if (treeModels == null) { return Collections.emptyList(); } List<Long> ids = new ArrayList<>(); for (TmfTreeDataModel treeModel : treeModels) { if (treeModel.getName().startsWith(category)) { ids.add(treeModel.getId()); } } TmfModelResponse<@NonNull List<@NonNull ITimeGraphRowModel>> res = dataProvider.fetchRowModel(new SelectionTimeQueryFilter(startTime, endTime, (int) Math.max(2, (((double) endTime - startTime) / resolution)), ids), monitor); List<@NonNull ITimeGraphRowModel> rowModels = res.getModel(); if (rowModels == null || rowModels.isEmpty()) { return Collections.emptyList(); } List<IMarkerEvent> events = new ArrayList<>(); for (ITimeGraphRowModel rowModel : rowModels) { for (ITimeGraphState model : rowModel.getStates()) { if (model instanceof MarkerModel) { events.add(new MarkerEvent(null, model.getStartTime(), model.getDuration(), ((MarkerModel) model).getCategory(), ONE_TRUE_COLOUR, model.getLabel(), true)); } } } return events; }