public InstanceStats next() {
public final InstanceStats next() {
  public InstanceStats next() {    while (true) {      if (iter_next == null) {        iter_prev = null;        if (++iter_i >= iter_max) {          return null;        }        iter_next = objs[iter_i];         continue;      }      if (iter_next.get() == null) {        // gc'ed        gc(iter_next);        objs_size--;        InstanceStats dead = iter_next;        iter_next = dead.next;        dead.next = null;        if (iter_prev == null) {          objs[iter_i] = iter_next;        } else {          iter_prev.next = iter_next;        }        continue;      }      InstanceStats ret = iter_next;      iter_prev = ret;      iter_next = ret.next;      return ret;    }  }