code: @SuppressWarnings("unchecked")
      public static <T> T touch(T msg, Object hint) {
          if (msg instanceof ReferenceCounted) {
              return (T) ((ReferenceCounted) msg).touch(hint);
          }
          return msg;
      }
docs: Tries to call {@link ReferenceCounted#touch(Object)} if the specified message implements
  {@link ReferenceCounted}.  If the specified message doesn't implement {@link ReferenceCounted},
  this method does nothing.