NetconfDeviceCapabilities is a mutable object, but it is not really used that way – there is a clear seperation between establishment of NetconfDeviceCapabilities and users only examine them.
Separate a Builder to ensure immutable semantics, thus cleaning up the lifecycle.