There is a lot of repeated code between these methods.  Once you have the matrix, they are pretty much identical in what they do with it.  So would be helpful to pull that out into a private method.  Something like `self._applyMatrix(J)`.