- changed isValid into validate method which throws exceptions instead,
for better error messaging
entities with empty maps and lists equals the same entity with null maps
and lists.
some gitignore files
updated compiled files