Iteration branch pull request for review.

Modification done...
I have removed custom exception in place of it used BCL defined ArgumentNullException.