Added support for subclassing Dao 

I added a loop to go over the hashmap and determine the first handler that is assignable from  the one in the map. It then adds the obtained handler and put it back in the handler map so that we don't do this again and again.

I also made some changes to get rid of some warnings related to javadoc.