I would add a: 
```
DistributorVersionCapability findCapabilitiesByDistVersion(String distVersion);
```
 method to the distVersionCurator. The method should handle all of the null checks for dv. It will make the above code a little easier to read.

For example, the above would turn into this:

```
Set<DistributorVersionCapability> capabilities = distributorVersionCurator.findCapabilitiesByDistVersion(
   existing.getFact("distributor_version"));
Set<ConsumerCapability> ccaps = new HashSet<ConsumerCapability>();
for (DistributorVersionCapability dvc : dv.getCapabilities()) {
   ConsumerCapability cc = new ConsumerCapability(existing, dvc.getName());
   ccaps.add(cc);
 }
```