private E join(final Instruction instruction, final List<? extends E> info) {
    final Iterable<? extends Instruction> prev = instruction.allPred();
    final ArrayList<E> prevInfos = new ArrayList<>();
    for (Instruction i : prev) {
      prevInfos.add(info.get(i.num()));
    }
    return mySemilattice.join(prevInfos);
  }
private E join(final Instruction instruction, final List<? extends E> info)