public Vector3f mult(Vector3f vec, Vector3f product) { if (null == vec) { LoggingSystem.getLogger().log(Level.WARNING, "Source vector is" + " null, null result returned."); return null; }  if (null == product) { product = new Vector3f(); }  float x = vec.x; float y = vec.y; float z = vec.z;  product.x = m00 * x + m01 * y + m02 * z; product.y = m10 * x + m11 * y + m12 * z; product.z = m20 * x + m21 * y + m22 * z; return product;
public Matrix3f mult(Matrix3f mat) { return mult(mat, null);
    public Vector3f mult(Vector3f vec, Vector3f product) {        if (null == vec) {            LoggingSystem.getLogger().log(Level.WARNING,                    "Source vector is" + " null, null result returned.");            return null;        }        if (null == product) {            product = new Vector3f();        }        float x = vec.x;        float y = vec.y;        float z = vec.z;        product.x = m00 * x + m01 * y + m02 * z;        product.y = m10 * x + m11 * y + m12 * z;        product.z = m20 * x + m21 * y + m22 * z;        return product;    }