code: public void notifyTransformed(Origin origin,
                                    FeatureProvider provider,
                                    Shape transformable,
                                    List<Collision> collisions,
                                    Map<Collision, Rectangle> cacheRectRender)
      {
          if (enabled)
          {
              final int length = collisions.size();
              for (int i = 0; i < length; i++)
              {
                  final Collision collision = collisions.get(i);
  
                  final Mirror mirror = getMirror(provider, collision);
                  final int offsetX = getOffsetX(collision, mirror);
                  final int offsetY = getOffsetY(collision, mirror);
                  final int width;
                  final int height;
                  if (Collision.AUTOMATIC == collision)
                  {
                      width = transformable.getWidth();
                      height = transformable.getHeight();
                  }
                  else
                  {
                      width = collision.getWidth();
                      height = collision.getHeight();
                  }
                  if (width > maxWidth)
                  {
                      maxWidth = width;
                  }
                  if (height > maxHeight)
                  {
                      maxHeight = height;
                  }
                  final double x = origin.getX(transformable.getX() + offsetX, width);
                  final double y = origin.getY(transformable.getY() + offsetY, height) + height;
                  update(collision, x, y, width, height, cacheRectRender);
              }
          }
      }
docs: Notify transformable modification.
  
  @param origin The origin used.
  @param provider The provider owner.
  @param transformable The modified transformable.
  @param collisions The declared collisions.
  @param cacheRectRender Cache for rendering.