Thanks Sean and Robert.   I appreciate your reply.   I think I'm dealing with a learning curve for a FORTRAN era programmer, messing up OOP and without the opportunity for a deep dive to yield better understanding.

I only want one interface, with (eventually) multiple displays.  I didn't realize that is what the second line you cite did.  Isn't that the line in Student Cliques that actually creates the students?  Or put another way, in my drafty model, how do i call the procedure to create the second type of agents?  If I don't have "PotatoDistributors potatoDistributors = (PotatoDistributors) state;" it seems to act as if potato distributors do not exist.

My goal (and my error I think, in so far as I am mistakenly following a pathway that assumes inheritance) is to add two unrelated agent types.  I don't need them to inherit attributes.  Is there a tutorial available that includes in a single interface and single display with two unrelated agent types?

Or put one last way, do all agents go into a single class in these models?  Maybe that's my mistake.

Thanks again,

P.S.  Not being shy, I am happy to share any code, but just don't want to be a bother.