@Nonnull
	private static String annotationToString(@Nonnull TextFormatConfig format, @Nonnull AnnotationInfo annotation) {
		String annotationDesc = annotation.getDescriptor();
		if (Types.isValidDesc(annotationDesc)) {
			Map<String, AnnotationElement> elements = annotation.getElements();
			String annotationName = StringUtil.shortenPath(Type.getType(annotationDesc).getInternalName());
			StringBuilder sb = new StringBuilder("@");
			sb.append(format.filterEscape(annotationName));
			if (!elements.isEmpty()) {
				if (elements.size() == 1 && elements.get("value") != null) {
					// If we only have 'value' we can ommit the 'k=' portion of the standard 'k=v'
					AnnotationElement element = elements.values().iterator().next();
					sb.append("(").append(elementToString(format, element)).append(")");
				} else {
					// Print all args in k=v format
					String args = elements.entrySet().stream()
							.map(e -> e.getKey() + " = " + elementToString(format, e.getValue()))
							.collect(Collectors.joining(", "));
					sb.append("(").append(args).append(")");
				}
			}
			return sb.toString();
		} else {
			return "// Invalid annotation removed";
		}
	}
@param format
		Format config.
@param annotation
		Annotation to represent.

@return String display of the annotation.
recaf-core/src/main/java/software/coley/recaf/services/decompile/fallback/print/PrintUtils.java