Scrolled contents
(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 600.00)
  (paintingPhases [background, foreground])
  (children 1
    (GraphicsLayer
      (bounds 800.00 600.00)
      (contentsOpaque 1)
      (paintingPhases [background, foreground])
      (children 1
        (GraphicsLayer
          (position 8.00 8.00)
          (bounds 322.00 322.00)
          (drawsContent 1)
          (paintingPhases [background])
          (children 1
            (GraphicsLayer
              (offsetFromRenderer width=1 height=1)
              (position 1.00 1.00)
              (bounds 305.00 305.00)
              (paintingPhases [background, foreground])
              (children 2
                (GraphicsLayer
                  (position 30.00 50.00)
                  (bounds 100.00 100.00)
                  (contentsOpaque 1)
                  (paintingPhases [background, foreground])
                )
                (GraphicsLayer
                  (offsetFromRenderer width=1 height=1)
                  (bounds 305.00 305.00)
                  (drawsContent 1)
                  (paintingPhases [foreground])
                )
              )
            )
          )
        )
      )
    )
  )
)

