


Initial

(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 635.00)
  (children 1
    (GraphicsLayer
      (bounds 800.00 635.00)
      (contentsOpaque 1)
      (children 3
        (GraphicsLayer
          (position 18.00 10.00)
          (bounds 764.00 145.00)
          (children 1
            (GraphicsLayer
              (position 20.00 20.00)
              (bounds 100.00 100.00)
              (drawsContent 1)
              (contentsVisible 0)
            )
          )
        )
        (GraphicsLayer
          (offsetFromRenderer width=-4 height=-4)
          (position 14.00 161.00)
          (bounds 772.00 153.00)
          (contentsVisible 0)
          (children 1
            (GraphicsLayer
              (position 24.00 24.00)
              (bounds 100.00 100.00)
              (drawsContent 1)
              (contentsVisible 0)
            )
          )
        )
        (GraphicsLayer
          (offsetFromRenderer width=-4 height=-4)
          (position 14.00 316.00)
          (bounds 772.00 153.00)
          (contentsVisible 0)
          (children 1
            (GraphicsLayer
              (position 24.00 24.00)
              (bounds 100.00 100.00)
              (drawsContent 1)
            )
          )
        )
      )
    )
  )
)
After step 1

(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 1369.00)
  (children 1
    (GraphicsLayer
      (bounds 800.00 1369.00)
      (contentsOpaque 1)
      (children 3
        (GraphicsLayer
          (position 18.00 10.00)
          (bounds 764.00 145.00)
          (children 1
            (GraphicsLayer
              (position 20.00 20.00)
              (bounds 100.00 100.00)
              (drawsContent 1)
            )
          )
        )
        (GraphicsLayer
          (offsetFromRenderer width=-4 height=-4)
          (position 14.00 161.00)
          (bounds 772.00 153.00)
          (contentsVisible 0)
          (children 1
            (GraphicsLayer
              (position 24.00 24.00)
              (bounds 100.00 100.00)
              (drawsContent 1)
              (contentsVisible 0)
            )
          )
        )
        (GraphicsLayer
          (offsetFromRenderer width=-4 height=-4)
          (position 14.00 316.00)
          (bounds 772.00 153.00)
          (contentsVisible 0)
          (children 1
            (GraphicsLayer
              (position 24.00 24.00)
              (bounds 100.00 100.00)
              (drawsContent 1)
            )
          )
        )
      )
    )
  )
)
After step 2

(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 2088.00)
  (children 1
    (GraphicsLayer
      (bounds 800.00 2088.00)
      (contentsOpaque 1)
      (children 3
        (GraphicsLayer
          (position 18.00 10.00)
          (bounds 764.00 145.00)
          (children 1
            (GraphicsLayer
              (position 20.00 20.00)
              (bounds 100.00 100.00)
              (drawsContent 1)
            )
          )
        )
        (GraphicsLayer
          (offsetFromRenderer width=-4 height=-4)
          (position 14.00 161.00)
          (bounds 772.00 153.00)
          (drawsContent 1)
          (children 1
            (GraphicsLayer
              (position 24.00 24.00)
              (bounds 100.00 100.00)
              (drawsContent 1)
            )
          )
        )
        (GraphicsLayer
          (offsetFromRenderer width=-4 height=-4)
          (position 14.00 316.00)
          (bounds 772.00 153.00)
          (contentsVisible 0)
          (children 1
            (GraphicsLayer
              (position 24.00 24.00)
              (bounds 100.00 100.00)
              (drawsContent 1)
            )
          )
        )
      )
    )
  )
)

