boolean setChanging(final boolean changing) {
    boolean oldChanging = isChanging;
    if (changing) {
      assert !oldChanging;
    }
    isChanging = changing;
    return oldChanging;
  }
boolean setChanging(final boolean changing)