cleanup
allow properties with map or collection supertype
added boolean parameter for skipping methods not having a matching private field