code: public static void safeRelease(Object msg) {
          try {
              release(msg);
          } catch (Throwable t) {
              logger.warn("Failed to release a message: {}", msg, t);
          }
      }
docs: Try to call {@link ReferenceCounted#release()} if the specified message implements {@link ReferenceCounted}.
  If the specified message doesn't implement {@link ReferenceCounted}, this method does nothing.
  Unlike {@link #release(Object)} this method catches an exception raised by {@link ReferenceCounted#release()}
  and logs it, rather than rethrowing it to the caller.  It is usually recommended to use {@link #release(Object)}
  instead, unless you absolutely need to swallow an exception.