xStream example
composite pattern