@NotNull
  private List<E> getPrevInfos(@NotNull Instruction instruction, @NotNull List<Optional<E>> info, @NotNull CallEnvironment env) {
    List<E> prevInfos = new SmartList<>();
    for (Instruction i : getPrevious(instruction, env)) {
      Optional<E> prevInfo = info.get(i.num());
      prevInfo.ifPresent(e -> prevInfos.add(e));
    }
    return prevInfos;
  }
@NotNull
  private List<E> getPrevInfos(@NotNull Instruction instruction, @NotNull List<Optional<E>> info, @NotNull CallEnvironment env)