code: public static void multiply(Transformation2D a, Transformation2D b,
  			Transformation2D result) {
  		double xx, xy, xd, yx, yy, yd;
  
  		xx = a.xx * b.xx + a.yx * b.xy;
  		xy = a.xy * b.xx + a.yy * b.xy;
  		xd = a.xd * b.xx + a.yd * b.xy + b.xd;
  		yx = a.xx * b.yx + a.yx * b.yy;
  		yy = a.xy * b.yx + a.yy * b.yy;
  		yd = a.xd * b.yx + a.yd * b.yy + b.yd;
  
  		result.xx = xx;
  		result.xy = xy;
  		result.xd = xd;
  		result.yx = yx;
  		result.yy = yy;
  		result.yd = yd;
  	}
docs: Performs multiplication of matrices a and b and places the result into
  this matrix. The a, b, and result could point to same objects. <br>
  Equivalent to result = a * b.
  
  @param a
  The 2D transformation to be multiplied.
  @param b
  The 2D transformation to be multiplied.
  @param result
  The 2D transformation created by multiplication of matrices.