docs: @Override
      public void release() throws EEException {
          LOG.trace("Releasing Execution Engine... " + pointer);
          if (pointer != 0L) {
              final int errorCode = nativeDestroy(pointer);
              pointer = 0L;
              checkErrorCode(errorCode);
          }
          m_firstDeserializer = null;
          m_firstDeserializerBufferOrigin.discard();
          m_nextDeserializer = null;
          m_nextDeserializerBufferOrigin.discard();
          m_exceptionBuffer = null;
          m_exceptionBufferOrigin.discard();
          m_emptyDeserializer = null;
          m_emptyDeserializerBuffer.discard();
          m_psetBufferC.discard();
          m_psetBuffer = null;
          m_perFragmentStatsBufferC.discard();
          m_perFragmentStatsBuffer = null;
          m_udfBufferC.discard();
          m_udfBuffer = null;
          LOG.trace("Released Execution Engine.");
      }