public IntBuffer put(int index, int i) { if (index < 0 || index >= limit) { throw new IndexOutOfBoundsException(); } int bytePtr = arrayOffset + (index << 2); if (isDirect) { ByteBufferImpl._putInt(bytePtr, i); } else if (array != null) { array[arrayOffset + index] = i; } else { parent.putInt(bytePtr, i); } return this; }