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, composited-scroll])
          (children 1
            (GraphicsLayer
              (offsetFromRenderer width=1 height=1)
              (position 1.00 1.00)
              (bounds 305.00 305.00)
              (children 1
                (GraphicsLayer
                  (offsetFromRenderer width=1 height=1)
                  (anchor 0.00 0.00)
                  (bounds 305.00 1020.00)
                  (drawsContent 1)
                  (paintingPhases [overflow-contents, composited-scroll])
                  (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 1020.00)
                      (drawsContent 1)
                      (paintingPhases [foreground, overflow-contents])
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  )
)

