Поток закрыт и не открыт - Java

У меня есть простая «домашняя работа», но я обнаружил небольшую проблему с закрытием входного потока. Проще говоря, я должен создать приложение для создания списка контактов в Java, чтобы правильно использовать полиморфизм. Итак, у меня есть класс Contact и подкласс Private (контакт). В обоих классах есть метод модификации для изменения значения переменных.

public void modify() throws IOException {
    System.out.println("Previously name: " + name);
    System.out.println("Insert new name");
    try(InputStreamReader ir = new InputStreamReader(System.in);    
    BufferedReader in = new BufferedReader(ir) ) {  
        name= in.readLine();
        System.out.println("You've changed the name to: "+ name);                       
    System.out.println("Previously surname: " + surname);
    System.out.println("Insert new surname");
        surname= in.readLine();
        System.out.println("You've changed the surname to: "+ surname);                         
    System.out.println("Previously e-mail: " + email);
    System.out.println("Insert new e-mail");
        email = in.readLine();
        System.out.println("You've changed the e-mail to: "+ email);    }                   
}

Это метод Contact, который не создает проблемы

@Override 
public void modify() throws IOException {
    super.modifica();
    System.out.println("Numero di cellulare precedente: " + cell);
    System.out.println("Inserire nuovo numero");
    try (InputStreamReader ir = new InputStreamReader(System.in);   
    BufferedReader in = new BufferedReader(ir)) {
        cell = in.readLine();
        System.out.println("Hai cambiato il numero in: "+ cell);                        
    System.out.println("Contatto skype precedente: " + skype);
    System.out.println("Inserire nuovo contatto");
        skype = in.readLine();
        System.out.println("Hai cambiato il contatto in: "+ skype);                         
}   
}

Вместо этого это переопределение метода в Private. В основном я создаю объект Private и вызываю метод modify. Я могу без проблем вставить имя, фамилию и адрес электронной почты, затем метод выдает исключение ввода-вывода, потому что поток закрыт. Я не могу понять, почему у меня такая проблема. Я думаю, что поток закрыт попыткой с ресурсами в первом коде, но затем он открывается во втором коде другой попыткой с ресурсами. Возможно, что-то в моей идее не так.

Ответы на вопрос(2)

Ваш ответ на вопрос