code: public Quaterniond premul(double qx, double qy, double qz, double qw) {
          return premul(qx, qy, qz, qw, this);
      }
docs: Pre-multiply this quaternion by the quaternion represented via <code>(qx, qy, qz, qw)</code>.
  <p>
  If <code>T</code> is <code>this</code> and <code>Q</code> is the given quaternion, then the resulting quaternion <code>R</code> is:
  <p>
  <code>R = Q * T</code>
  <p>
  So, this method uses pre-multiplication, resulting in a vector to be transformed by <code>T</code> first, and then by <code>Q</code>.
  
  @param qx
  the x component of the quaternion to multiply <code>this</code> by
  @param qy
  the y component of the quaternion to multiply <code>this</code> by
  @param qz
  the z component of the quaternion to multiply <code>this</code> by
  @param qw
  the w component of the quaternion to multiply <code>this</code> by
  @return this