Add null-checking to DescriptionBuilder

Originated from #954
Ordering probably doesn't matter, but just in case let's maintain the passed-in order.

If you prefer, you could just check the first parameter, then do:

    annotations.add(annotation);
    return withAdditionalAnnotations(...);

.... and avoid creating another `ArrayList`