code: public Quaterniond nlerpIterative(Quaterniondc q, double alpha, double dotThreshold) {
          return nlerpIterative(q, alpha, dotThreshold, this);
      }
docs: Compute linear (non-spherical) interpolations of <code>this</code> and the given quaternion <code>q</code>
  iteratively and store the result in <code>this</code>.
  <p>
  This method performs a series of small-step nlerp interpolations to avoid doing a costly spherical linear interpolation, like
  {@link #slerp(Quaterniondc, double, Quaterniond) slerp},
  by subdividing the rotation arc between <code>this</code> and <code>q</code> via non-spherical linear interpolations as long as
  the absolute dot product of <code>this</code> and <code>q</code> is greater than the given <code>dotThreshold</code> parameter.
  <p>
  Thanks to <code>@theagentd</code> at <a href="http://www.java-gaming.org/">http://www.java-gaming.org/</a> for providing the code.
  
  @param q
  the other quaternion
  @param alpha
  the interpolation factor, between 0.0 and 1.0
  @param dotThreshold
  the threshold for the dot product of <code>this</code> and <code>q</code> above which this method performs another iteration
  of a small-step linear interpolation
  @return this