gluNurbsSurface and Display Lists

Can a call to gluNurbsSurface be put inside a display list? I ask because of the GLUnurbsObj that is passed into it. All of the examples in the Red Book make use of a global object created at the begining of the program in an init() function. They never delete the object. I might want to change the values in the GLUnurbsObj per surface (maybe GLU_FILL one and GLU_OUTLINE_POLYGON for another).

I guess another way of looking at this question is, do all the values in the GLUnurbsObj get copied out when the call is made or is the pointer copied?

My suspicion is that the pointer is copied. In the past I have always needed a seperate GLUnurbsObj per surface, and that isnt possible in my current project (thousands and thousands of patches). Or, I have used a single GLUnurbsObj for all surfaces, but was forced to have all surfaces have the same properties.

What is the deal with the GLUnurbsObj?

thanks.