It looks like you found the problem. Before I go ahead to decide what
change I would like to make, I would like to confirm what's the constrains
on using BeansObservables.observeMap() method:
In order to use BeansObservables.observeMap, the model object which
represents the tree must define a common interface for all of the nodes of
the tree even if the nodes of the tree may hold different information or
data. Is the statement right?