You could subclass the List and and over ride the addmethod to create a new instance of the object that waspassed in then passing that object to super.add(...).