List<TraceInfo> (@NotNull StreamChain chain, @NotNull ArrayReference info) { final int callCount = chain.length(); final List<TraceInfo> result = new ArrayList<>(callCount); for (int i = 0; i < callCount; i++) { final StreamCall call = chain.getCall(i); final Value trace = info.getValue(i); final CallTraceInterpreter interpreter = myInterpreterFactory.getInterpreter(call.getName()); final TraceInfo traceInfo = trace == null ? ValuesOrderInfo.empty(call) : interpreter.resolve(call, trace); result.add(traceInfo); } return result; }