title: Complex ArrayList with different type elements
body: <p>I'm creating a complex data type.
  It's an ArrayList (chapters) of ArrayLists (chapter).
  However, there are two versions of the chapter, each with it's respected elements and data types.</p>
  
  <p>How could I declare my complex data type so I could add one or another (to have, e.g., ArrayList(chapters) which contains (chapter_typeI,chapter_typeII,chapter_typeII,chapter_typeI,chapter_typeII, etc...)?</p>