bye, bye java 6, now java 7 used for whole project
javadocs, refinements, warnings
exposed Immutable* types as API in immutable implementation class