Done. 

Currently have an abstract class Content. Both Page and Category extends Content. 
generateContent is implemented inside Content. Each class that extends Content has an addItems method which calls the appropriate constructors. 
generateContent is called within a constructor of an object being created. 

I would like to thank Bob for this solution.