@Override
	public void optionsChanged(Options options, Program program) {

		modelName = options.getString(MODELFILE_OPTION_NAME, MODEL_DEFAULT_NAME);
		setTrigramFileName(modelName);

		minStringLength =
			options.getEnum(MINIMUM_STRING_LENGTH_OPTION_NAME, MINIMUM_STRING_LENGTH_DEFAULT_VALUE)
					.getMinLength();

		requireNullEnd = options.getBoolean(REQUIRE_NULL_TERMINATION_OPTION_NAME,
			REQUIRE_NULL_TERMINATION_DEFAULT_VALUE);

		startAlignment = options.getEnum(START_ALIGNMENT_OPTION_NAME, START_ALIGNMENT_DEFAULT_VALUE)
				.getAlignment();

		setStringEndAlignment(
			options.getInt(END_ALIGNMENT_OPTION_NAME, END_ALIGNMENT_DEFAULT_VALUE));

		// Want to register "allCharWidths" property once we change this analyzer to be able to deal 
		// with UTF8, UTF16, UTF32 characters.
		//allCharWidths = options.registerProperty(ALL_CHAR_WIDTHS_OPTION_NAME, ALL_CHAR_WIDTHS_DEFAULT_VALUE, 
		//	ALL_CHAR_WIDTHS_OPTION_DESCRIPTION, null);

		forceModelReload =
			options.getBoolean(FORCE_MODEL_RELOAD_OPTION_NAME, FORCE_MODEL_RELOAD_DEFAULT_VALUE);

		allowStringCreationWithOffcutReferences =
			options.getBoolean(ALLOW_STRING_CREATION_WITH_MIDDLE_REF_NAME,
				ALLOW_STRING_CREATION_WITH_MIDDLE_REF_DEFAULT);

		allowStringCreationWithExistringSubstring =
			options.getBoolean(ALLOW_STRING_CREATION_WITH_EXISTING_SUBSTR_NAME,
				ALLOW_STRING_CREATION_WITH_EXISTING_SUBSTR_DEFAULT);

		searchOnlyAccessibleMemBlocks = options.getBoolean(SEARCH_ONLY_ACCESSIBLE_MEM_BLOCKS_NAME,
			SEARCH_ONLY_ACCESSIBLE_MEM_BLOCKS_DEFAULT);
	}
Verify that adding padding bytes won't violate boundaries or allow defined data
or instructions to be overwritten.

@param program		current program
@param stringEndAddress	strings' end address
@param padLength		number of pad bytes
@return	actual number of pad bytes to add to the string
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/string/StringsAnalyzer.java