code: public static void clearAssumptions(Map<Integer, Integer> assumptionTill, int pc) {
          Iterator<Integer> it = assumptionTill.values().iterator();
          while (it.hasNext()) {
              if (it.next().intValue() <= pc) {
                  it.remove();
              }
          }
      }
docs: the map is keyed by register, and value by when an assumption holds to a byte
  offset if we have passed when the assumption holds, clear the item from the
  map
  
  @param assumptionTill the map of assumptions
  @param pc             // * the current pc