refactored IfNull and IfNotNull to allow method chaining