src/main/java/com/spotify/sparkey/IndexHash.java [691:732]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    @Override
    public byte[] getKey() {
      if (keyBuf.length == keyLen) {
        return keyBuf;
      }
      byte[] key = new byte[keyLen];
      System.arraycopy(keyBuf, 0, key, 0, keyLen);
      return key;
    }

    @Override
    public String getKeyAsString() {
      return new String(keyBuf, 0, keyLen, StandardCharsets.UTF_8);
    }

    @Override
    public long getValueLength() {
      return valueLen;
    }

    @Override
    public String getValueAsString() throws IOException {
      return new String(getValue(), StandardCharsets.UTF_8);
    }

    @Override
    public InputStream getValueAsStream() {
      return stream;
    }

    @Override
    public byte[] getValue() throws IOException {
      if (valueLen > Integer.MAX_VALUE) {
        throw new IllegalStateException("Value size is " + valueLen + " bytes, can't store in byte[]");
      }
      return readChunk((int) valueLen);
    }

    private byte[] readChunk(int size) throws IOException {
      byte[] res = new byte[size];
      stream.read(res);
      return res;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



src/main/java/com/spotify/sparkey/SparkeyLogIterator.java [195:236]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    @Override
    public byte[] getKey() {
      if (keyBuf.length == keyLen) {
        return keyBuf;
      }
      byte[] key = new byte[keyLen];
      System.arraycopy(keyBuf, 0, key, 0, keyLen);
      return key;
    }

    @Override
    public String getKeyAsString() {
      return new String(keyBuf, 0, keyLen, StandardCharsets.UTF_8);
    }

    @Override
    public long getValueLength() {
      return valueLen;
    }

    @Override
    public String getValueAsString() throws IOException {
      return new String(getValue(), StandardCharsets.UTF_8);
    }

    @Override
    public InputStream getValueAsStream() {
      return stream;
    }

    @Override
    public byte[] getValue() throws IOException {
      if (valueLen > Integer.MAX_VALUE) {
        throw new IllegalStateException("Value size is " + valueLen + " bytes, can't store in byte[]");
      }
      return readChunk((int) valueLen);
    }

    private byte[] readChunk(int size) throws IOException {
      byte[] res = new byte[size];
      stream.read(res);
      return res;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



