code: public Quaterniond mul(Quaterniond q) {
          return mul(q.x, q.y, q.z, q.w);
      }
docs: Multiplies another quaternion with this one.
  
  @param q The quaternion to multiply with
  @return A new quaternion, which is the product of both