question: public void shear ( double shx , double shy , Point2D from ) { inverse = null ; AffineTransform at = AffineTransform . getTranslateInstance ( from . getX ( ) , from . getY ( ) ) ; at . shear ( shx , shy ) ; at . translate ( - from . getX ( ) , - from . getY ( ) ) ; transform . preConcatenate ( at ) ; fireStateChanged ( ) ; }
target:  shears the transform by passed parameters