@Override
	public String validateOptions(ByteProvider provider, LoadSpec loadSpec, List<Option> options,
			Program program) {
		if (options != null) {
			for (Option option : options) {
				String name = option.getName();
				if (name.equals(APPLY_LABELS_OPTION_NAME) ||
					name.equals(ANCHOR_LABELS_OPTION_NAME)) {
					if (!Boolean.class.isAssignableFrom(option.getValueClass())) {
						return "Invalid type for option: " + name + " - " + option.getValueClass();
					}
				}
			}
		}
		return null;
	}
Loads program bytes into the specified {@link Program}.  This method will not create any new
{@link Program}s.  It is only for adding to an existing {@link Program}.
<p>
NOTE: The loading that occurs in this method will automatically be done in a transaction.

@param provider The bytes to load into the {@link Program}.
@param loadSpec The {@link LoadSpec} to use during load.
@param options The load options.
@param messageLog The message log.
@param program The {@link Program} to load into.
@param monitor A cancelable task monitor.
@throws LoadException if the load failed in an expected way.
@throws IOException if there was an IO-related problem loading.
@throws CancelledException if the user cancelled the load.
Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/AbstractProgramLoader.java