docs: @Override
      public VoltTable[] getStats(
              final StatsSelector selector,
              final int locators[],
              final boolean interval,
              final Long now)
      {
          //Clear is destructive, do it before the native call
          m_nextDeserializer.clear();
          final int numResults = nativeGetStats(pointer, selector.ordinal(), locators, interval, now);
          if (numResults == -1) {
              throwExceptionForError(ERRORCODE_ERROR);
          }
  
          try {
              m_nextDeserializer.readInt();//Ignore the length of the result tables
              final VoltTable results[] = new VoltTable[numResults];
              for (int ii = 0; ii < numResults; ii++) {
                  int len = m_nextDeserializer.readInt();
                  byte[] bufCopy = new byte[len];
                  m_nextDeserializer.readFully(bufCopy, 0, len);
                  // This Table should be readonly (true), but table stats need to be updated
                  // Stream stats until Stream stats are deprecated from Table stats
                  results[ii] = PrivateVoltTableFactory.createVoltTableFromBuffer(ByteBuffer.wrap(bufCopy), false);
              }
              return results;
          } catch (final IOException ex) {
              LOG.error("Failed to deserialze result table for getStats" + ex);
              throw new EEException(ERRORCODE_WRONG_SERIALIZED_BYTES);
          }
      }