code: public Matrix4d scaleAround(double factor, double ox, double oy, double oz) {
          return scaleAround(factor, factor, factor, ox, oy, oz, this);
      }
docs: Apply scaling to this matrix by scaling all three base axes by the given <code>factor</code>
  while using <code>(ox, oy, oz)</code> as the scaling origin.
  <p>
  If <code>M</code> is <code>this</code> matrix and <code>S</code> the scaling matrix,
  then the new matrix will be <code>M * S</code>. So when transforming a
  vector <code>v</code> with the new matrix by using <code>M * S * v</code>, the
  scaling will be applied first!
  <p>
  This method is equivalent to calling: <code>translate(ox, oy, oz).scale(factor).translate(-ox, -oy, -oz)</code>
  
  @param factor
  the scaling factor for all three axes
  @param ox
  the x coordinate of the scaling origin
  @param oy
  the y coordinate of the scaling origin
  @param oz
  the z coordinate of the scaling origin
  @return this