Please see my comment to the question. As soon as you did not specify what kind of application your application should be, it's not possible to give you a definitive answer.
But the general idea is this: as soon as you speak of nested lists, this should be more general structure, a "checkbox tree". You can always have or create a control implementing a view of such structure. For example, if you use
, you can use the class
which can have check boxes next to the tree nodes: