Add null-checking to DescriptionBuilder

Originated from #954
This is fine, but personally I would use 'add all' after the `null` checks because 1) calls with invalid arguments would have no side effects, and 2) it may be slightly more efficient.