Source:
public TmfModelResponse<List<FlameChartEntryModel>> fetchTree(TimeQueryFilter filter, @Nullable IProgressMonitor monitor) { if (fCached != null) { return fCached; } fLock.writeLock().lock(); try (FlowScopeLog scope = new FlowScopeLogBuilder(LOGGER, Level.FINE, "FlameChartDataProvider#fetchTree") .setCategory(getClass().getSimpleName()).build()) { IFlameChartProvider fcProvider = fFcProvider; boolean complete = fcProvider.isComplete(); CallStackSeries callstack = fcProvider.getCallStackSeries(); if (callstack == null) { return new TmfModelResponse<>(null, ITmfResponse.Status.FAILED, CommonStatusMessage.ANALYSIS_INITIALIZATION_FAILED); } long start = getTrace().getStartTime().getValue(); long end = getTrace().readEnd().getValue(); ImmutableList.Builder<FlameChartEntryModel> builder = ImmutableList.builder(); FlameChartEntryModel traceEntry = new FlameChartEntryModel(fTraceId, -1, getTrace().getName(), start, end, FlameChartEntryModel.EntryType.TRACE, IHostModel.UNKNOWN_TID); builder.add(traceEntry); @NonNull FlameChartEntryModel callStackRoot = traceEntry; for (ICallStackElement element : callstack.getRootElements()) { if (monitor != null && monitor.isCanceled()) { return new TmfModelResponse<>(null, ITmfResponse.Status.CANCELLED, CommonStatusMessage.TASK_CANCELLED); } processCallStackElement(element, builder, callStackRoot); } List<FlameChartEntryModel> tree = builder.build(); System.out.println("========================================="); System.out.println("Results for : " + this); tree.forEach(System.out::println); tree.forEach(entry -> fEntries.put(entry.getId(), entry)); if (complete) { TmfModelResponse<List<FlameChartEntryModel>> response = new TmfModelResponse<>(tree, ITmfResponse.Status.COMPLETED, CommonStatusMessage.COMPLETED); fCached = response; return response; } return new TmfModelResponse<>(tree, ITmfResponse.Status.RUNNING, CommonStatusMessage.RUNNING); } finally { fLock.writeLock().unlock(); } }

Target:
public TmfModelResponse<List<FlameChartEntryModel>> fetchTree(TimeQueryFilter filter, @Nullable IProgressMonitor monitor) { if (fCached != null) { return fCached; } fLock.writeLock().lock(); try (FlowScopeLog scope = new FlowScopeLogBuilder(LOGGER, Level.FINE, "FlameChartDataProvider#fetchTree") .setCategory(getClass().getSimpleName()).build()) { IFlameChartProvider fcProvider = fFcProvider; boolean complete = fcProvider.isComplete(); CallStackSeries callstack = fcProvider.getCallStackSeries(); if (callstack == null) { return new TmfModelResponse<>(null, ITmfResponse.Status.FAILED, CommonStatusMessage.ANALYSIS_INITIALIZATION_FAILED); } long start = getTrace().getStartTime().getValue(); long end = getTrace().readEnd().getValue(); ImmutableList.Builder<FlameChartEntryModel> builder = ImmutableList.builder(); FlameChartEntryModel traceEntry = new FlameChartEntryModel(fTraceId, -1, getTrace().getName(), start, end, FlameChartEntryModel.EntryType.TRACE, IHostModel.UNKNOWN_TID); builder.add(traceEntry); FlameChartEntryModel callStackRoot = traceEntry; for (ICallStackElement element : callstack.getRootElements()) { if (monitor != null && monitor.isCanceled()) { return new TmfModelResponse<>(null, ITmfResponse.Status.CANCELLED, CommonStatusMessage.TASK_CANCELLED); } processCallStackElement(element, builder, callStackRoot); } List<FlameChartEntryModel> tree = builder.build(); tree.forEach(entry -> fEntries.put(entry.getId(), entry)); if (complete) { TmfModelResponse<List<FlameChartEntryModel>> response = new TmfModelResponse<>(tree, ITmfResponse.Status.COMPLETED, CommonStatusMessage.COMPLETED); fCached = response; return response; } return new TmfModelResponse<>(tree, ITmfResponse.Status.RUNNING, CommonStatusMessage.RUNNING); } finally { fLock.writeLock().unlock(); } }