code: public Matrix4d rotateAround(Quaterniondc quat, double ox, double oy, double oz, Matrix4d dest) {
          if ((properties & PROPERTY_IDENTITY) != 0)
              return rotationAround(quat, ox, oy, oz);
          else if ((properties & PROPERTY_AFFINE) != 0)
              return rotateAroundAffine(quat, ox, oy, oz, this);
          return rotateAroundGeneric(quat, ox, oy, oz, this);
      }
docs: /* (non-Javadoc)
  @see org.joml.Matrix4dc#rotateAround(org.joml.Quaterniondc, double, double, double, org.joml.Matrix4d)