public ServiceName getCapabilityServiceName(PathAddress address, Class<?> serviceValueType) {
        return fromBaseCapability(address).getCapabilityServiceName(serviceValueType);
    }
public ServiceName getCapabilityServiceName ( PathAddress address , Class < ? > serviceValueType ) { return fromBaseCapability ( address ) . getCapabilityServiceName ( serviceValueType ) ; }
Gets the name of service provided by this capability.

@param address the path from which dynamic portion of the capability name is calculated from. Cannot be {@code null}
@param serviceValueType the expected type of the service's value. Only used to provide validate that
the service value type provided by the capability matches the caller's
expectation. May be {@code null} in which case no validation is performed

@return the name of the service. Will not be {@code null}

@throws IllegalArgumentException if the capability does not provide a service or if its value type
is not assignable to {@code serviceValueType}
@throws IllegalStateException if {@link #isDynamicallyNamed()} does not return {@code true}