docs: @Nonnull
    public static OutputStream getBestSuitableOutputStream (@Nonnull final HttpServletRequest aHttpRequest,
                                                            @Nonnull final HttpServletResponse aHttpResponse) throws IOException
    {
      OutputStream aOS = aHttpResponse.getOutputStream ();
  
      if (ResponseHelperSettings.isResponseCompressionEnabled ())
      {
        // Can we get resource transfer working with GZIP or deflate?
        final AcceptEncodingList aAcceptEncodings = RequestHelper.getAcceptEncodings (aHttpRequest);
  
        // Inform caches that responses may vary according to Accept-Encoding
        aHttpResponse.setHeader (CHttpHeader.VARY, CHttpHeader.ACCEPT_ENCODING);
  
        final String sGZipEncoding = aAcceptEncodings.getUsedGZIPEncoding ();
        if (sGZipEncoding != null && ResponseHelperSettings.isResponseGzipEnabled ())
        {
          // Use GZip
          aHttpResponse.setHeader (CHttpHeader.CONTENT_ENCODING, sGZipEncoding);
          aOS = new GZIPOutputStream (aHttpResponse.getOutputStream ());
        }
        else
        {
          final String sDeflateEncoding = aAcceptEncodings.getUsedDeflateEncoding ();
          if (sDeflateEncoding != null && ResponseHelperSettings.isResponseDeflateEnabled ())
          {
            // Use Deflate
            aHttpResponse.setHeader (CHttpHeader.CONTENT_ENCODING, sDeflateEncoding);
            aOS = new ZipOutputStream (aHttpResponse.getOutputStream ());
            // A dummy ZIP entry is required!
            ((ZipOutputStream) aOS).putNextEntry (new ZipEntry ("dummy name"));
          }
        }
      }
  
      return aOS;
    }