private boolean addArgumentWithModifier(char c, FormatParsingData data,
			List<FormatArgument> formatArgumentList) {
		data.setConversionSpecifier(detectConversionSpecifier(c));
		if ((data.getConversionSpecifier() == null) ||
			!(verifyConversionPair(data.getLengthModifier(), data.getConversionSpecifier()))) {
			return false; // Problem with format string
		}
		formatArgumentList
				.add(new FormatArgument(data.getLengthModifier(), data.getConversionSpecifier()));
		return true;

	}
Takes in a single String from parseFormatString's output List and converts it to
the corresponding FormatArgument(s) and populates the formatArgumentList List.
isOutputType is true when using a format string for a function that "outputs"
Strings (e.g., printf, fprintf, etc.). When it's false, it evaluates the
String's data types as if the function "inputs" Strings (e.g., scanf)

@param formatString       Format String
@param formatArgumentList   List of FormatArgument that will be written to
@param isOutputType Type of variadic function
@return True if format string successfully parsed
Ghidra/Features/DecompilerDependent/src/main/java/ghidra/app/plugin/core/string/variadic/FormatStringParser.java