public FileStorage() {
        super();
        File citationsFile = new File(serializationFilename);
        ObjectInputStream objectInputStream = null;
        try {
            if (!citationsFile.exists()) {
                return;
            }
            FileInputStream fileInputStream = new FileInputStream(citationsFile);
            objectInputStream = new ObjectInputStream(fileInputStream);
            List<Citation> citations = (List<Citation>) objectInputStream.readObject();
            for (Citation c : citations) {
                super.addCitation(c);
            }
        } catch (FileNotFoundException ex) {
            System.out.println(ex);
        } catch (IOException ex) {
            if (ex instanceof java.io.InvalidClassException) {
                citationsFile.delete();
            }
            System.out.println(ex);
        } catch (ClassNotFoundException ex) {
            System.out.println(ex);
        } finally {
            closeStream(objectInputStream);
        }
    }