public void setComment(String path, String... comment) {
		Preconditions.checkArgument(!path.isEmpty(), "Cannot set to an empty path");

        Configuration root = getRoot();
        if (root == null) {
            throw new IllegalStateException("Cannot use section without a root");
        }

        final char separator = root.options().pathSeparator();
        // i1 is the leading (higher) index
        // i2 is the trailing (lower) index
        int i1 = -1, i2;
        ConfigurationSection section = this;
        while ((i1 = path.indexOf(separator, i2 = i1 + 1)) != -1) {
            String node = path.substring(i2, i1);
            ConfigurationSection subSection = section.getConfigurationSection(node);
            if (subSection == null) {
                section = section.createSection(node);
            } else {
                section = subSection;
            }
        }

        String key = path.substring(i2);
        if (section == this) {
            if (comment != null && comment.length > 0) {
                String s = Joiner.on('\n').join(comment);
                comments.put(key, s);
            } else {
                comments.remove(key);
            }
        } else {
            section.setComment(key, comment);
        }
    }