code: private void writeToTempFile(int at_offset, byte[] data, int offset, int len) throws IOException {
          if (_tempfile == null) {
              createTempFile();
              _file_pos = -1;
          }
          _file_mode = true;
          if (at_offset != _file_pos) {
              _tempfile.seek((long)at_offset);
          }
          _tempfile.write(data,offset,len);
          _file_pos = at_offset + len;
          _file_high = max(_file_high,_file_pos);
      }
docs: Write chunk of data at specified offset in temp file.
  Marks data as big.
  Updates high water mark on tempfile content.