Clicking on links to open on tabs producing stale element reference in chrome, whereas in firefox it does not produce any tab

I am coding to open the links as tabs and get all the link title printed; as I am using keys and then using window concept, it should open links on tabs and then can print each link's page title. However, in chrome it is throwing stale element reference exception, whereas in firefox it is not even producing any tab.
Please see the following code and correct me if I am doing wrong somewhere. Thank you.

package com.practice.one;

import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class ClickingAllTheLinks {

public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", 
 "/Users/owner/desktop/chromedriver");
    WebDriver driver = new ChromeDriver();
    driver.manage().window().maximize();
    driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

    driver.get("http://www.qaclickacademy.com/practice.php");
    List <WebElement> links=driver.findElements(By.tagName("a"));
    for (int i=0;i<links.size();i++) {
        System.out.println(links.get(i).getText());
    }
    WebElement footer_links= driver.findElement(By.cssSelector("div#gf- 
   BIG"));

List<WebElement>sub_links=footer_links.findElements(By.tagName("a"));
    for (int i=0;i<sub_links.size();i++) {
        System.out.println(sub_links.get(i).getText());
    }
    WebElement 
  left_footer_Links=driver.findElement(By.xpath("//table[@class='gf- 
   t']/tbody/tr/td[1]/ul"));


List<WebElement>leftfoot_Links=left_footer_Links.findElements
(By.tagName("a"));
    for (int i=0;i<leftfoot_Links.size();i++) {
        String clickandopenlinksonTabs=Keys.chord(Keys.CONTROL, 
 Keys.RETURN);
        leftfoot_Links.get(i).sendKeys(clickandopenlinksonTabs);
        Thread.sleep(3000L);

    Set<String> wins=driver.getWindowHandles();
    Iterator<String> it=wins.iterator();
    while(it.hasNext()) {
        driver.switchTo().window(it.next());
        System.out.println(driver.getTitle());
    }   

    }

}

}