/**
   * @param theSource
   * @param theSourceID
   * @param theDestinationID
   * @param theReadOffset
   * @param theWriteOffset
   * @param theSize
   */
  public void copy(GLBuffer theSource, int theReadOffset, int theWriteOffset, int theSize) {
    GL4 gl = GLGraphics.currentGL();
    gl.glBindBuffer(GLBufferTarget.COPY_READ.glID, theSource._myID);
    gl.glBindBuffer(GLBufferTarget.COPY_WRITE.glID, _myID);

    gl.glCopyBufferSubData(
        GLBufferTarget.COPY_READ.glID,
        GLBufferTarget.COPY_WRITE.glID,
        theReadOffset,
        theWriteOffset,
        theSize);

    gl.glBindBuffer(GLBufferTarget.COPY_READ.glID, 0);
    gl.glBindBuffer(GLBufferTarget.COPY_WRITE.glID, 0);
  }