Fixed issues according to code review #2.
init function is removed.
try/catch is replaced by thrown.
test case is updated accordingly.
Fixed issues according to code review #2.
The public method is made protected.