added isEmpty flag to mark the value is empty; added example for emit coding practice
added SubList in test classs
in the processing of fixing, added Depth property
added a map to remember the empty state of the collection field
added three layer test failed case,
added more conditions for adding item in Read()