GCI-9 #3

In this pull request:
- Added appropriate handling for passing null values to non-null agruments
- Fixed inconsistent synchronization among class fields

PS: Both of the usernames are mine.