@Override public Object get(int index) { try { return this.values[index]; } catch (ArrayIndexOutOfBoundsException ex) { Arguments.indexMustBetweenValue("index", index, 0, true, this.values.length, false); throw new AssertionError(/* impossible */ex); } }
protected boolean addAll( int subListHeadHide, int subListTailHide, int index, Collection<? extends E> c, Trigger<E> trigger, BaseElementsConflictHandler conflictHandler) { int oldAllSize = this.allSize(); this.checkSubListRange(subListHeadHide, subListTailHide); Arguments.indexMustBetweenValue( "index", index, 0, true, oldAllSize - subListHeadHide - subListTailHide, true //For adding and iterator, this is true, otherwise it is false ); AttachProcessor<E> attachProcessor = this.attachProcessorOf( false, subListHeadHide, index, conflictHandler, trigger); c = attachProcessor.intialize(c); this.addAllImpl(c, attachProcessor); attachProcessor.flush(); return !c.isEmpty(); }
protected void add( int subListHeadHide, int subListTailHide, int index, E element, Trigger<E> trigger, BaseElementsConflictHandler conflictHandler) { this.checkSubListRange(subListHeadHide, subListTailHide); Arguments.indexMustBetweenValue( "index", index, 0, true, this.allSize() - subListHeadHide - subListTailHide, true //For adding and iterator, it is true, for other, it is false ); AttachProcessor<E> attachProcessor = this.attachProcessorOf( false, subListHeadHide, index, conflictHandler, trigger); attachProcessor.initialize(element); this.addImpl(element, attachProcessor); attachProcessor.flush(); }
protected E set( int subListHeadHide, int subListTailHide, int index, E element, Trigger<E> trigger, BaseElementsConflictHandler conflictHandler) { int oldAbsSize = this.allSize(); this.checkSubListRange(subListHeadHide, subListTailHide); Arguments.indexMustBetweenValue( "index", index, 0, true, oldAbsSize - subListHeadHide - subListTailHide, false); AttachProcessor<E> attachProcessor = this.attachProcessorOf( true, subListHeadHide, index, conflictHandler, trigger); attachProcessor.initialize(element); E retval = this.setImpl(element, attachProcessor); attachProcessor.flush(); return retval; }