Просматривая исходный код Selenium, я заметил следующее в PageFactory:
public static <T> T initElements(WebDriver driver, Class<T> pageClassToProxy) {
T page = instantiatePage(driver, pageClassToProxy);
initElements(driver, page);
return page;
}
public static void initElements(WebDriver driver, Object page) {
final WebDriver driverRef = driver;
initElements(new DefaultElementLocatorFactory(driverRef), page);
}
В чем преимущество наличия следующей строки ?
final WebDriver driverRef = driver;
Разве не имело бы смысла просто сделать параметр final, а затем передать его следующему методу без объявления новой ссылки?