public static List<Laureate> filterByLivingYearRange(
            List<Laureate> inputList, String startYear, String endYear) {

        List<Laureate> outputList = new ArrayList<Laureate>();
        int sYear = Integer.getInteger(startYear);
        int eYear = Integer.getInteger(endYear);

        // parse input, keep what matchs the terms.
        for (Laureate Awinner : inputList) {
            Integer birthYear = Integer.getInteger(Awinner.getBirth()); // if bad string, returns null.
            if (birthYear >= sYear) {
                Integer deathYear = Integer.getInteger(Awinner.getBirth());
                if ((deathYear == null) || (deathYear <= ((eYear < 0) ? (deathYear + 1) : eYear))) {
                    outputList.add(Awinner);
                }
            }
        }
        return outputList;
    }