class ContainerRequest extends InboundMessageContext implements ContainerRequestContext, Request, HttpHeaders, PropertiesDelegate {

    @Override
    public Variant selectVariant(final List<Variant> variants) throws IllegalArgumentException {
        if (variants == null || variants.isEmpty()) {
            throw new IllegalArgumentException(METHOD_PARAMETER_CANNOT_BE_NULL_OR_EMPTY);
        }
        final Ref<String> varyValueRef = Refs.emptyRef();
        final Variant variant = VariantSelector.selectVariant(this, variants, varyValueRef);
        this.varyValue = varyValueRef.get();
        return variant;
    }

    public  ContainerRequest(
            final URI baseUri,
            final URI requestUri,
            final String httpMethod,
            final SecurityContext securityContext,
            final PropertiesDelegate propertiesDelegate,
            final Configuration configuration);
    @Deprecated public  ContainerRequest(
            final URI baseUri,
            final URI requestUri,
            final String httpMethod,
            final SecurityContext securityContext,
            final PropertiesDelegate propertiesDelegate);

}