private MutableContextSet parseContext(int fromIndex) {
        MutableContextSet contextSet = new MutableContextSetImpl();
        List<String> entries = subList(fromIndex, size());
        for (int i = 0; i < entries.size(); i++) {
            String entry = entries.get(i);
            int sep = entry.indexOf('=');

            String key;
            String value;

            if (sep != -1) {
                key = entry.substring(0, sep);
                value = entry.substring(sep + 1);
            } else {
                key = i == 1 ? DefaultContextKeys.WORLD_KEY : DefaultContextKeys.SERVER_KEY;
                value = entry;
            }

            if (!Context.isValidKey(key) || !Context.isValidValue(value)) {
                continue;
            }

            contextSet.add(key, value);
        }

        return contextSet;
    }
A list of {@link String} arguments, with extra methods to help
with parsing.
common/src/main/java/me/lucko/luckperms/common/command/utils/ArgumentList.java