How do I return a skeleton pose back to custom pose after setting it to the default .pose?

I set a skeleton’s pose to its default pose via the .pose() method.
How do I return it afterwards to the pose it had before?
I tried saving the .matrix of each bone before doing the .pose(), and setting it to the saved matrices afterwards, but it doesn’t do anything.

I found a way:

			bone.position.setFromMatrixPosition( m );
			bone.setRotationFromMatrix( m );
			bone.scale.setFromMatrixScale( m );

I had to set each attribute. I can’t just set the matrix of the bone for some reason. If anyone wants ot explain why, feel free to do so.