Why do this check every time this is called? Why not call the initializer once in the field declaration like you did in pull request #7?