Relative foreground
(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 600.00)
  (children 1
    (GraphicsLayer
      (bounds 800.00 600.00)
      (contentsOpaque 1)
      (children 1
        (GraphicsLayer
          (position 8.00 8.00)
          (bounds 304.00 304.00)
          (drawsContent 1)
          (children 1
            (GraphicsLayer
              (offsetFromRenderer width=2 height=2)
              (position 2.00 2.00)
              (bounds 285.00 285.00)
              (children 1
                (GraphicsLayer
                  (offsetFromRenderer width=2 height=2)
                  (anchor 0.00 0.00)
                  (bounds 285.00 364.00)
                  (drawsContent 1)
                )
              )
            )
          )
        )
      )
    )
  )
)

