class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvisioningService, VpcService {

    protected void checkCapabilityPerServiceProvider(final Set<Provider> providers, final Capability capability,
                                                     final Service service) {
        // TODO Shouldn't it fail it there are no providers?
        if (providers != null) {
            for (final Provider provider : providers) {
                final NetworkElement element = _ntwkModel.getElementImplementingProvider(provider.getName());
                final Map<Service, Map<Capability, String>> capabilities = element.getCapabilities();
                if (capabilities != null && !capabilities.isEmpty()) {
                    final Map<Capability, String> connectivityCapabilities = capabilities.get(service);
                    if (connectivityCapabilities == null
                            || connectivityCapabilities != null && !connectivityCapabilities.keySet().contains(capability)) {
                        throw new InvalidParameterValueException(String.format("Provider %s does not support %s  capability.",
                                provider.getName(), capability.getName()));
                    }
                }
            }
        }
    }

}