public T remove(int givenPosition)
{
   checkInitialization();
   if ((givenPosition >= 1) && (givenPosition <= numberOfEntries))
   {
      assert !isEmpty();
      T result = list[givenPosition]; // Get entry to be removed
      // Move subsequent entries towards entry to be removed,
      // unless it is last in list
      if (givenPosition < numberOfEntries)
         removeGap(givenPosition);
      numberOfEntries--;
      return result;
   }
   else
      throw new IndexOutOfBoundsException(
                "Illegal position given to remove operation.");
} // end remove
// Version 4.0
