void (@NotNull final String prefix, @NotNull StringBuilder sb, @NotNull List<? extends TagDescription> tagBlocks, @NotNull String tag, boolean align_comments, boolean generate_empty_tags, boolean descriptionOnNewLine) { int maxNameLength = maxTagDescriptionNameLength(tagBlocks, align_comments, generate_empty_tags, descriptionOnNewLine); StringBuilder fill = new StringBuilder(prefix.length() + tag.length() + maxNameLength + 1); fill.append(prefix); StringUtil.repeatSymbol(fill, ' ', maxNameLength + 1 + tag.length()); for (TagDescription nd : tagBlocks) { if (isNull(nd.desc()) && !generate_empty_tags) continue; if (descriptionOnNewLine && !isNull(nd.desc())) { sb.append(prefix).append(tag).append(nd.name()).append("\n"); sb.append(formatJDTagDescription(nd.desc(), prefix + continuationIndent())); } else if (align_comments) { int spacesNumber = maxNameLength + 1 - nd.name().length(); String spaces = StringUtil.repeatSymbol(' ', Math.max(0, spacesNumber)); String firstLinePrefix = prefix + tag + nd.name() + spaces; sb.append(formatJDTagDescription(nd.desc(), firstLinePrefix, fill)); } else { String description = (nd.desc() == null) ? "" : nd.desc(); StringBuilder tagDescription = formatJDTagDescription(tag + nd.name() + " " + description, prefix, prefix + javadocContinuationIndent()); sb.append(tagDescription); } } }