code: public int rawRead(Object array, int byteOffset, int byteLength)
              throws IOException
      {
          int writtenBytes = 0;
          for (; writtenBytes < byteLength; ) {
  
              if (uncompressedCursor >= uncompressedLimit) {
                  if (hasNextChunk()) {
                      continue;
                  }
                  else {
                      return writtenBytes == 0 ? -1 : writtenBytes;
                  }
              }
              int bytesToWrite = Math.min(uncompressedLimit - uncompressedCursor, byteLength - writtenBytes);
              Snappy.arrayCopy(uncompressed, uncompressedCursor, bytesToWrite, array, byteOffset + writtenBytes);
              writtenBytes += bytesToWrite;
              uncompressedCursor += bytesToWrite;
          }
  
          return writtenBytes;
      }
docs: Read uncompressed data into the specified array
  
  @param array
  @param byteOffset
  @param byteLength
  @return written bytes
  @throws IOException