// Path: src/main/java/org/lmdbjava/Env.java
// public static final boolean SHOULD_CHECK = !getBoolean(DISABLE_CHECKS_PROP);
// 
// Path: src/main/java/org/lmdbjava/UnsafeAccess.java
// static final Unsafe UNSAFE;


import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.util.ArrayDeque;
import jnr.ffi.Pointer;
import static java.lang.Long.reverseBytes;
import static java.lang.ThreadLocal.withInitial;
import static java.nio.ByteBuffer.allocateDirect;
import static java.nio.ByteOrder.BIG_ENDIAN;
import static java.nio.ByteOrder.LITTLE_ENDIAN;
import static java.util.Objects.requireNonNull;
import static org.lmdbjava.Env.SHOULD_CHECK;
import static org.lmdbjava.UnsafeAccess.UNSAFE;
import java.lang.reflect.Field;
        }
      }

      for (int i = minWords * Long.BYTES; i < minLength; i++) {
        final int lw = Byte.toUnsignedInt(o1.get(i));
        final int rw = Byte.toUnsignedInt(o2.get(i));
        final int result = Integer.compareUnsigned(lw, rw);
        if (result != 0) {
          return result;
        }
      }

      return o1.remaining() - o2.remaining();
    }

    static Field findField(final Class<?> c, final String name) {
      Class<?> clazz = c;
      do {
        try {
          final Field field = clazz.getDeclaredField(name);
          field.setAccessible(true);
          return field;
        } catch (final NoSuchFieldException e) {
          clazz = clazz.getSuperclass();
        }
      } while (clazz != null);
      throw new LmdbException(name + " not found");
    }

    protected final long address(final ByteBuffer buffer) {
// Path: src/main/java/org/lmdbjava/Env.java
// public static final boolean SHOULD_CHECK = !getBoolean(DISABLE_CHECKS_PROP);
// 
// Path: src/main/java/org/lmdbjava/UnsafeAccess.java
// static final Unsafe UNSAFE;


// Path: src/main/java/org/lmdbjava/ByteBufferProxy.java
import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.util.ArrayDeque;
import jnr.ffi.Pointer;
import static java.lang.Long.reverseBytes;
import static java.lang.ThreadLocal.withInitial;
import static java.nio.ByteBuffer.allocateDirect;
import static java.nio.ByteOrder.BIG_ENDIAN;
import static java.nio.ByteOrder.LITTLE_ENDIAN;
import static java.util.Objects.requireNonNull;
import static org.lmdbjava.Env.SHOULD_CHECK;
import static org.lmdbjava.UnsafeAccess.UNSAFE;
import java.lang.reflect.Field;

        }
      }

      for (int i = minWords * Long.BYTES; i < minLength; i++) {
        final int lw = Byte.toUnsignedInt(o1.get(i));
        final int rw = Byte.toUnsignedInt(o2.get(i));
        final int result = Integer.compareUnsigned(lw, rw);
        if (result != 0) {
          return result;
        }
      }

      return o1.remaining() - o2.remaining();
    }

    static Field findField(final Class<?> c, final String name) {
      Class<?> clazz = c;
      do {
        try {
          final Field field = clazz.getDeclaredField(name);
          field.setAccessible(true);
          return field;
        } catch (final NoSuchFieldException e) {
          clazz = clazz.getSuperclass();
        }
      } while (clazz != null);
      throw new LmdbException(name + " not found");
    }

    protected final long address(final ByteBuffer buffer) {
      if (SHOULD_CHECK && !buffer.isDirect()) {