I am using the XRecord extension's XRecordEnableContext() to report to
me any XRequest that is processed by the XServer.

As a test to see what requests are processed, I call XCreateWindow().
I would expect to see only one xCreateWindowReq. However, more than
one is processed by the XServer and reported to me. Some are also
children of my window's parent. Some are children of my window.

It seems that when the XServer receives an initial xCreateWindowReq
call, it creates some hidden windows by sending additional
xCreateWindowReq's through the XServer.

My question is: What are these additional hidden windows for? How
can I tell the difference between requests that my client initiated,
and the mysterious extras ones initiated by the XServer?