Added bean validation and custom validation of collections.
Changed properties to match json