That's true, I guess it depends on how the SDK will finally look when it's made public. If this method is public then it will need a null check but this can wait until later. I think that's a good idea about enforcing non-null in the attribute constructor. Although it shouldn't be a guard since the attribute will never de-reference it. Should be a regular conditional.