### Question:
FillSelect extends BaseFill<E> { public FillSelect withText(String text) { return doSelect(select -> select.selectByVisibleText(text)); } FillSelect(FluentList<E> list);  FillSelect(E element); FillSelect withIndex(int index); FillSelect withValue(String value); FillSelect withText(String text);  }### Answer:
@Test public void testFillList() { FluentList<FluentWebElement> list = fluentAdapter.asFluentList(element1, element2, element3, element4); FillSelect fillConstructor = new FillSelect(list); WebElement option1 = mock(WebElement.class); WebElement option2 = mock(WebElement.class); WebElement option3 = mock(WebElement.class); WebElement option4 = mock(WebElement.class); when(element1.findElements(any(By.class))).thenReturn(singletonList(option1)); when(element2.findElements(any(By.class))).thenReturn(singletonList(option2)); when(element3.findElements(any(By.class))).thenReturn(singletonList(option3)); when(element4.findElements(any(By.class))).thenReturn(singletonList(option4)); fillConstructor.withText("text"); verify(option1).click(); verify(option2, never()).click(); verify(option3).click(); verify(option4).click(); Assertions.assertThatThrownBy(() -> new FillSelect(fluentAdapter.newFluentList()).withText("text")); }