public void writeFloat(final float v) throws IOException { try { memory.putFloat(currentAddress, v); currentAddress+=4; } catch (IndexOutOfBoundsException e) { toClose.add(buffer); buffer = new MMapBuffer(file, 0, memory.length() * 2, FileChannel.MapMode.READ_WRITE, byteOrder); memory = buffer.memory(); writeFloat(v); } }