code: public void render(Graphic g,
                         Viewer viewer,
                         Origin origin,
                         Shape transformable,
                         List<Collision> cacheColls,
                         Map<Collision, Rectangle> cacheRect)
      {
          if (showCollision)
          {
              final int size = cacheColls.size();
              for (int i = 0; i < size; i++)
              {
                  final Collision collision = cacheColls.get(i);
                  if (Collision.AUTOMATIC == collision)
                  {
                      final int x = (int) Math.round(origin.getX(viewer.getViewpointX(transformable.getX()),
                                                                 transformable.getWidth()));
                      final int y = (int) Math.floor(origin.getY(viewer.getViewpointY(transformable.getY()),
                                                                 transformable.getHeight()));
                      g.drawRect(x, y, transformable.getWidth(), transformable.getHeight(), false);
                  }
                  else
                  {
                      final Area area = cacheRect.get(collision);
                      final int x = (int) Math.round(viewer.getViewpointX(area.getX()));
                      final int y = (int) Math.floor(viewer.getViewpointY(area.getY())) - area.getHeight();
                      g.drawRect(x, y, area.getWidth(), area.getHeight(), false);
                  }
              }
          }
      }
docs: Render collisions.
  
  @param g The graphic output.
  @param viewer The viewer reference.
  @param origin The origin used.
  @param transformable The transformable owner.
  @param cacheColls The computed collisions.
  @param cacheRect The computed rectangles.