void initRound(Set<? extends TypeElement> annotations, RoundEnvironment round) {
    this.round = round;
    this.annotations = ImmutableSet.copyOf(annotations);
    currentState.set(new WeakReference<>(this));
  }
Next iteration of the same flawed design in hopes to untangle it at least a bit.
generator/src/org/immutables/generator/EnvironmentState.java