docs: @Override
     public T remove(int index)
     {
        if (size == 0) {
           return null;
        }
  
        final T old = elementData[index];
  
        final int numMoved = size - index - 1;
        if (numMoved > 0) {
           System.arraycopy(elementData, index + 1, elementData, index, numMoved);
        }
  
        elementData[--size] = null;
  
        return old;
     }