### Question:
FluentSelects extends FluentWebElements { @Override public FluentSelect last(FluentMatcher matcher) { return (FluentSelect) super.last(matcher); } protected  FluentSelects(WebDriver delegate, List<FluentWebElement> currentElements, Context context, Monitor monitor, boolean booleanInsteadOfNoSuchElement); @Override FluentSelects click(); @Override FluentSelects clearField(); @Override FluentSelects submit(); @Override FluentSelects sendKeys(CharSequence... keysToSend); @Override FluentSelects filter(FluentMatcher matcher); @Override FluentSelect first(FluentMatcher matcher); @Override FluentSelect last(FluentMatcher matcher); @Override FluentSelects each(FluentWebElementVistor visitor); @Override FluentSelect get(int i);  }### Answer:
@Test public void testLast() throws Exception { FluentSelects fs = new FluentSelects(wd, wes, ctx, new Monitor.NULL(), false); final int[] i = new int[1]; i[0] = -1; FluentSelect el = fs.last(new FluentMatcher() { public boolean matches(FluentWebElement webElement, int ix) { i[0]++; assertThat(ix, is(i[0])); return true; } }); assertThat(el, sameInstance(fs1)); }