add support for empty constructor
improve exception
add support for concurrenthashmap
Merge remote-tracking branch 'origin/4.1' into 4.1