private static int solve2(List<String> list) {
        Map<String, Integer> map = new HashMap<>();
        int max = 0;

        for (int i = 0; i < list.size(); i++) {
            String s = list.get(i);
            String[] a = s.split(" ");

            if (!map.containsKey(a[0]))
                map.put(a[0], 0);

            if (!map.containsKey(a[4]))
                map.put(a[4], 0);

            if (a[5].equals(">") && map.get(a[4]) > Integer.parseInt(a[6])) {
                if (a[1].equals("inc"))
                    map.put(a[0], map.get(a[0]) + Integer.parseInt(a[2]));
                else
                    map.put(a[0], map.get(a[0]) - Integer.parseInt(a[2]));
            } else if (a[5].equals("<") && map.get(a[4]) < Integer.parseInt(a[6])) {
                if (a[1].equals("inc"))
                    map.put(a[0], map.get(a[0]) + Integer.parseInt(a[2]));
                else
                    map.put(a[0], map.get(a[0]) - Integer.parseInt(a[2]));
            } else if (a[5].equals(">=") && map.get(a[4]) >= Integer.parseInt(a[6])) {
                if (a[1].equals("inc"))
                    map.put(a[0], map.get(a[0]) + Integer.parseInt(a[2]));
                else
                    map.put(a[0], map.get(a[0]) - Integer.parseInt(a[2]));
            } else if (a[5].equals("<=") && map.get(a[4]) <= Integer.parseInt(a[6])) {
                if (a[1].equals("inc"))
                    map.put(a[0], map.get(a[0]) + Integer.parseInt(a[2]));
                else
                    map.put(a[0], map.get(a[0]) - Integer.parseInt(a[2]));
            } else if (a[5].equals("==") && map.get(a[4]) == Integer.parseInt(a[6])) {
                if (a[1].equals("inc"))
                    map.put(a[0], map.get(a[0]) + Integer.parseInt(a[2]));
                else
                    map.put(a[0], map.get(a[0]) - Integer.parseInt(a[2]));
            } else if (a[5].equals("!=") && map.get(a[4]) != Integer.parseInt(a[6])) {
                if (a[1].equals("inc"))
                    map.put(a[0], map.get(a[0]) + Integer.parseInt(a[2]));
                else
                    map.put(a[0], map.get(a[0]) - Integer.parseInt(a[2]));
            }
            max = Math.max(max, map.get(a[0]));
        }

        return max;
    }
Why Did you create this class? what does it do?
src/adventofcode/Registrars_7.java