@NotNull
  private static Map<Integer, TraceElement> resolveTrace(@NotNull ArrayReference keysArray, @NotNull ArrayReference valuesArray) {
    final LinkedHashMap<Integer, TraceElement> result = new LinkedHashMap<>();
    final List<Value> keyMirrors = keysArray.getValues();
    final List<Value> valueMirrors = valuesArray.getValues();
    if (keyMirrors.size() == valueMirrors.size()) {
      for (int i = 0, size = keyMirrors.size(); i < size; i++) {
        final TraceElement element = resolveTraceElement(keyMirrors.get(i), valueMirrors.get(i));
        result.put(element.getTime(), element);
      }

      return result;
    }

    throw new UnexpectedValueException("keys and values arrays should be with the same sizes");
  }
@NotNull
  private static Map<Integer, TraceElement> resolveTrace(@NotNull ArrayReference keysArray, @NotNull ArrayReference valuesArray)