### Question:
RangeList extends TransformedList<E, E> { public void setMiddleRange(int startIndex, int endIndex) { this.desiredStart = startIndex; this.desiredEnd = -endIndex - 1; adjustRange(); } RangeList(EventList<E> source); @Override final void listChanged(ListEvent<E> listChanges); @Deprecated void setRange(int startIndex, int endIndex); void setHeadRange(int startIndex, int endIndex); void setMiddleRange(int startIndex, int endIndex); void setTailRange(int startIndex, int endIndex); @Override final int size(); int getStartIndex(); int getEndIndex();  }### Answer:
@Test public void testMiddleRangeZeros() { EventList<String> source = new BasicEventList<>(); source.addAll(GlazedListsTests.stringToList("ABCDEFGHIJKLMNOPQRSTUVWXYZ")); RangeList<String> rangeList = new RangeList<>(source); ListConsistencyListener.install(rangeList); assertEquals(source, rangeList); rangeList.setMiddleRange(0, 0); assertEquals(GlazedListsTests.stringToList("ABCDEFGHIJKLMNOPQRSTUVWXYZ"), rangeList); rangeList.setMiddleRange(1, 0); assertEquals(GlazedListsTests.stringToList("BCDEFGHIJKLMNOPQRSTUVWXYZ"), rangeList); rangeList.setMiddleRange(0, 1); assertEquals(GlazedListsTests.stringToList("ABCDEFGHIJKLMNOPQRSTUVWXY"), rangeList); }