public IEnumerable <TElement> FindAll <TElement>(IDriver driver, Find findContext, By by)
            where TElement : class, Core.Controls.IElement
        {
            var resolvedElements           = new List <TElement>();
            var testingFrameworkExpression = by.ToTestingFrameworkExpression();

            WaitForExists(driver, testingFrameworkExpression);
            var elements = findContext.AllByExpression(testingFrameworkExpression);

            foreach (var currentElement in elements)
            {
                var result = ResolveElement <TElement>(driver, currentElement);
                resolvedElements.Add(result);
            }

            return(resolvedElements);
        }