Sample Code:

```
public class A
{
    List<WebElement> itemList = new ArrayList<WebElement>();
    public List<WebElement> getItemsList()
    {
        itemList = (driver.findElements(By.xpath("<some valid xpath>")));
        return(itemList);
    }
}

public class B
{
    A hp = new A();
    public void subscribe()
    {   
        hp.getItemsList().get(0).click();
    }
}

```

I am creating the list of webelements on the page in the class A and in the Class B I am trying to click on the first element.

On execution I am getting below exception:

```
> java.lang.ClassCastException: java.lang.StackOverflowError cannot be cast to java.lang.Exception

```

Issues has to do some thing with findElements because when I added the elements using findElement method to the list manually in the code, code is working fine.

In the below example I have commented the findElements line and instead added the elements manually, this code is working fine.

```
public class A
{
    List<WebElement> itemList = new ArrayList<WebElement>();

    public List<WebElement> getItemsList()
    {
        //itemList = (driver.findElements(By.xpath(".//*[@id='hc6|stocks|item1']/span[2]"")));
        itemList.add(driver.findElement(By.xpath(".//*[@id='hc6|stocks|item1']/span[2]")));
        itemList.add(driver.findElement(By.xpath(".//*[@id='hc6|stocks|item2']/span[2]")));
        itemList.add(driver.findElement(By.xpath(".//*[@id='hc6|stocks|item3']/span[2]")));
        return(itemList);
    }
}

```

Can anyone suggests whats going wrong?