private static @Nullable MethodHandle findInvokeCleaner() {
    MethodHandle invokeCleaner = null;
    try {
      if (JavaVersion.current().feature >= 9) {
        Object unsafe = ReflectionUtil.getUnsafe();
        MethodType type = MethodType.methodType(void.class, ByteBuffer.class);
        invokeCleaner = MethodHandles.publicLookup().findVirtual(unsafe.getClass(), "invokeCleaner", type).bindTo(unsafe);
      }
    }
    catch (Throwable t) {
      Logger.getInstance(ByteBufferUtil.class).warn(t);
    }
    return invokeCleaner;
  }
private static @Nullable MethodHandle findInvokeCleaner()