code: def _rotateBy(self, value, origin=None, **kwargs):
          
          a = math.radians(value)
          t = transform.Identity.rotate(a)
          self.transformBy(tuple(t), origin=origin, **kwargs)
docs: This is the environment implementation of
          :meth:`BaseObject.rotateBy`.
  
          **value** will be a :ref:`type-int-float` value
          defining the value to rotate the object by.
          It will have been normalized with
          :func:`normalizers.normalizeRotationAngle`.
          **origin** will be a :ref:`type-coordinate` defining
          the point at which the rotation should orginate.
  
          Subclasses may override this method.