static CCapability asCCapability(final CapabilityResource resource) {
    assert resource != null : "Resource cannot be null";

    final CCapability capability = new CCapability();

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

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

        capability.addProperty(capabilityProp);
      }
    }

    return capability;
  }