public boolean applyPlateCommentOnly(Program program, Address address) throws Exception {
		if (!demangledNameSuccessfully()) {
			throw new DemangledException("Symbol did not demangle at address: " + address);
		}
		if (!address.isMemoryAddress() || !program.getMemory().contains(address)) {
			return true; // skip this symbol
		}

		Listing listing = program.getListing();
		String comment = listing.getComment(CommentType.PLATE, address);
		String newComment = generatePlateComment();
		if (comment == null || comment.indexOf(newComment) < 0) {
			if (comment == null) {
				comment = newComment;
			}
			else {
				comment = comment + '\n' + newComment;
			}
			listing.setComment(address, CommentType.PLATE, comment);
		}
		return true;
	}
@param program The program for which to apply the comment
@param address The address for the comment
@return {@code true} if a comment was applied
@throws Exception if the symbol could not be demangled or if the address is invalid
Ghidra/Features/Base/src/main/java/ghidra/app/util/demangler/DemangledObject.java