class ContainerRequest implements GenericContainerRequest {

    @Override
    public List<Locale> getAcceptableLanguages() {
        if (acceptLanguages == null) {
            List<AcceptLanguage> acceptLanguages = createAcceptedLanguageList(convertToString(getRequestHeader(ACCEPT_LANGUAGE)));
            List<Locale> locales = new ArrayList<>(acceptLanguages.size());
            locales.addAll(acceptLanguages.stream().map(language -> language.getLanguage().getLocale()).collect(toList()));

            this.acceptLanguages = unmodifiableList(locales);
        }

        return acceptLanguages;
    }

    public  ContainerRequest(String method, URI requestUri, URI baseUri, InputStream entityStream,
                            MultivaluedMap<String, String> httpHeaders, SecurityContext securityContext);

}