docs: public static long getLong(final DirectBuffer buffer, final int index, final Encoding encoding)
      {
          switch (encoding.primitiveType())
          {
              case CHAR:
                  return buffer.getByte(index);
  
              case INT8:
                  return buffer.getByte(index);
  
              case INT16:
                  return buffer.getShort(index, encoding.byteOrder());
  
              case INT32:
                  return buffer.getInt(index, encoding.byteOrder());
  
              case INT64:
                  return buffer.getLong(index, encoding.byteOrder());
  
              case UINT8:
                  return (short)(buffer.getByte(index) & 0xFF);
  
              case UINT16:
                  return buffer.getShort(index, encoding.byteOrder()) & 0xFFFF;
  
              case UINT32:
                  return buffer.getInt(index, encoding.byteOrder()) & 0xFFFF_FFFFL;
  
              case UINT64:
                  return buffer.getLong(index, encoding.byteOrder());
  
              default:
                  throw new IllegalArgumentException("Unsupported type for long: " + encoding.primitiveType());
          }
      }