docs: protected void grow() {
      if(dists == EMPTY_DISTS) {
        dists = new double[INITIAL_SIZE];
        ids = new int[INITIAL_SIZE];
        return;
      }
      final int len = dists.length;
      final int newlength = len + (len >> 1) + 1;
      double[] odists = dists;
      dists = new double[newlength];
      System.arraycopy(odists, 0, dists, 0, odists.length);
      int[] oids = ids;
      ids = new int[newlength];
      System.arraycopy(oids, 0, ids, 0, oids.length);
    }