private static CapabilityResponseResource asCapabilityResponseResource(
      final CCapability capability) {
    assert capability != null : "Capability cannot be null";

    final CapabilityResource resource = new CapabilityResource();

    resource.setId(capability.getId());
    resource.setName(capability.getName());
    resource.setTypeId(capability.getTypeId());

    if (capability.getProperties() != null) {
      for (final CCapabilityProperty propery : capability.getProperties()) {
        final CapabilityPropertyResource resourceProp = new CapabilityPropertyResource();
        resourceProp.setKey(propery.getKey());
        resourceProp.setValue(propery.getValue());

        resource.addProperty(resourceProp);
      }
    }

    final CapabilityResponseResource response = new CapabilityResponseResource();
    response.setData(resource);

    return response;
  }