code: public Quaterniond integrate(double dt, double vx, double vy, double vz) {
          return integrate(dt, vx, vy, vz, this);
      }
docs: Integrate the rotation given by the angular velocity <code>(vx, vy, vz)</code> around the x, y and z axis, respectively,
  with respect to the given elapsed time delta <code>dt</code> and add the differentiate rotation to the rotation represented by this quaternion.
  <p>
  This method pre-multiplies the rotation given by <code>dt</code> and <code>(vx, vy, vz)</code> by <code>this</code>, so
  the angular velocities are always relative to the local coordinate system of the rotation represented by <code>this</code> quaternion.
  <p>
  This method is equivalent to calling: <code>rotateLocal(dt * vx, dt * vy, dt * vz)</code>
  <p>
  Reference: <a href="http://physicsforgames.blogspot.de/2010/02/quaternions.html">http://physicsforgames.blogspot.de/</a>
  
  @param dt
  the delta time
  @param vx
  the angular velocity around the x axis
  @param vy
  the angular velocity around the y axis
  @param vz
  the angular velocity around the z axis
  @return this