static List<Option> parseOptions(String line) {
        Keyword keyword = getKeywordOfLine(line);
        Matcher matcher = keywordPatterns.get(keyword).matcher(line);
        List<Option> options = new LinkedList<>();

        matcher.find();
        String optionString = matcher.group(1);

        for (String candidate : optionString.split("[ \t]+")) {
            candidate = candidate.trim();

            try {
                options.add(Option.valueOf(candidate));
            } catch (IllegalArgumentException ex) {
                System.out.println("Did not understand option: " + ex.getMessage());
            }
        }

        return options;
    }