docs: @Override
      public void handleMessage(final Message message) throws Fault {
          OutputStream os = message.getContent(OutputStream.class);
  
          if (null == os) {
              String encoding = (String) message.get(Message.ENCODING);
              if (encoding == null) {
                  encoding = "UTF-8";
              }
  
              final Writer writer = message.getContent(Writer.class);
              if (null != writer) {
                  os = new WriterOutputStream(writer, encoding);
                  message.setContent(Writer.class,null);
              }
          }
  
          if (null != os) {
              final CacheAndWriteTapOutputStream newOut = new CacheAndWriteTapOutputStream(os);
  
              message.setContent(OutputStream.class, newOut);
  
              if (WireTapHelper
                      .isMessageContentToBeLogged(message, logMessageContent, logMessageContentOverride)) {
                  message.setContent(CachedOutputStream.class, newOut);
              }else {
                  try {
                      final CachedOutputStream cos = new CachedOutputStream();
                      cos.write(WireTapHelper.CONTENT_LOGGING_IS_DISABLED.getBytes(Charset.forName("UTF-8")));
                      message.setContent(CachedOutputStream.class, cos);
                  } catch (IOException e) {
                      throw new RuntimeException(e);
                  }
              }
  
              if (wireTap != null) {
                  newOut.registerCallback(new CallBack(message));
              }
          }
      }