// Path: src/main/java/com/frameworkium/core/ui/element/StreamTable.java
// public class StreamTable extends AbstractStreamTable {
// 
//   @FindBy(css = "thead > tr > th")
//   private List<WebElement> headerCells;
// 
//   @FindBy(css = "tbody > tr")
//   private List<WebElement> rows;
// 
//   @Override
//   protected Stream<WebElement> headerCells() {
//     return headerCells.stream().filter(WebElement::isDisplayed);
//   }
// 
//   @Override
//   protected Stream<WebElement> rows() {
//     return rows.stream().filter(WebElement::isDisplayed);
//   }
// 
//   @Override
//   protected By cellLocator() {
//     return By.cssSelector("td");
//   }
// 
// }


import com.frameworkium.core.htmlelements.element.Link;
import com.frameworkium.core.ui.element.StreamTable;
import org.testng.annotations.Test;
import java.util.ArrayList;
import java.util.List;
package com.frameworkium.core.ui;



/**
 * Tests to ensure elements other than just WebElements can be passed into
 * {@link ExtraExpectedConditions}.
 *
 * These tests do not check the correctness of the implementation, they are here
 * to prevent https://github.com/Frameworkium/frameworkium-core/issues/133
 */
public class ExtraExpectedConditionsTest {

    private List<Link> links = new ArrayList<>();
// Path: src/main/java/com/frameworkium/core/ui/element/StreamTable.java
// public class StreamTable extends AbstractStreamTable {
// 
//   @FindBy(css = "thead > tr > th")
//   private List<WebElement> headerCells;
// 
//   @FindBy(css = "tbody > tr")
//   private List<WebElement> rows;
// 
//   @Override
//   protected Stream<WebElement> headerCells() {
//     return headerCells.stream().filter(WebElement::isDisplayed);
//   }
// 
//   @Override
//   protected Stream<WebElement> rows() {
//     return rows.stream().filter(WebElement::isDisplayed);
//   }
// 
//   @Override
//   protected By cellLocator() {
//     return By.cssSelector("td");
//   }
// 
// }


// Path: src/test/java/com/frameworkium/core/ui/ExtraExpectedConditionsTest.java
import com.frameworkium.core.htmlelements.element.Link;
import com.frameworkium.core.ui.element.StreamTable;
import org.testng.annotations.Test;
import java.util.ArrayList;
import java.util.List;

package com.frameworkium.core.ui;



/**
 * Tests to ensure elements other than just WebElements can be passed into
 * {@link ExtraExpectedConditions}.
 *
 * These tests do not check the correctness of the implementation, they are here
 * to prevent https://github.com/Frameworkium/frameworkium-core/issues/133
 */
public class ExtraExpectedConditionsTest {

    private List<Link> links = new ArrayList<>();
    private List<StreamTable> tables = new ArrayList<>();