#17 NotNull/CanBeNull annotations added where need