If the transformation transforms an object in twice but with differnet transformations, then the same result will be created.
Trsnformation.getTransformed(Object instance)
needs to be changed to
Trsnformation.getTransformed(Object instance,Transformation transfromation)