Compositeview

This is an O(n) operation, making the whole init() a O(n^2) operation. You can avoid doing that by simply adding a hashCode and equals method to ViewTrigger. You can use Arrays#hashCode for one and for the other look at https://code.google.com/p/guava-libraries/source/browse/guava/src/com/google/common/base/Objects.java as an example of how to implement equals