private static void updateState(DfaMemoryState state, DfaVariableValue var, DfType type) {
    // Dependent states may appear which we are not tracking (e.g. one visible list is sublist of another list)
    // so let's conservatively flush everything that could be affected
    state.flushFieldsQualifiedBy(Set.of(Objects.requireNonNull(var.getQualifier())));
    state.meetDfType(var, type);
  }
private static void updateState(DfaMemoryState state, DfaVariableValue var, DfType type)