code: protected boolean write(byte[] newData, boolean alreadyExist) throws IOException {
          // If the data is invalid.
          if (KeyUtils.isNull(newData, prototype.getKey().length)) {
              // if(alreadyExist) System.err.println("invalid from disk");
              return false;
          }
          // if the last readChunk was full
          ByteBuffer toAdd = ByteBuffer.wrap(newData);
          long positionOfToAddInFile = writeOffset + bufferedWriter.position();
          bufferedWriter.put(toAdd);
  
          largestKeyInChunk = Arrays.copyOfRange(newData, 0, prototype.getKey().length); // elements are stored ordered so we
                                                                                    // can easily remember the largest key
          int chunkId = dataFile.getChunkIndex(positionOfToAddInFile);
          header.setLargestKey(chunkId, largestKeyInChunk);
          if (bufferedWriter.remaining() == 0) {
              writeBuffer();
          }
          return true;
      }
docs: writes the given {@link byte[]} to the given {@link FileChannel}. This method improves performance by 30%,
  because it is not needed anymore to create all AbstractKVStorable from byte-arrays. The given byte-array contains
  only one {@link AbstractKVStorable}.
  
  @param newData
  @param key
  @param alreadyExist
  @throws IOException