/** * Deletes a component from this compound name. The component of this compound name at position * 'posn' is removed, and components at indices greater than 'posn' are shifted down (towards * index 0) by one. * * @param posn The index of the component to delete. Must be in the range [0,size()). * @return The component removed (a String). * @exception ArrayIndexOutOfBoundsException If posn is outside the specified range (includes case * where compound name is empty). * @exception InvalidNameException If deleting the component would violate the compound name's * syntax. */ public Object remove(int posn) throws InvalidNameException { return impl.remove(posn); }