private Map<String, String> mapTags(String rawTags) {
        Map<String, String> tags = new HashMap<String, String>();

        StringTokenizer tokenizer = new StringTokenizer(rawTags);

        while (tokenizer.hasMoreTokens()) {
            String tag = tokenizer.nextToken(";");
            if (tag.contains("=")) {
                String[] parts = tag.split("=");
                tags.put(parts[0], (parts.length == 2 ? parts[1] : null));
            } else {
                tags.put(tag, null);
            }
        }

        return tags;
    }