@SuppressWarnings("unchecked")
	protected <T> T getValue(String name, Class<T> c, String typeName) {
		AbstractValue<?> value = valuesMap.get(name);
		if (value == null) {
			throw new IllegalArgumentException("No value defined for " + name);
		}
		if (value.getClass().isAssignableFrom(c)) {
			return (T) value;
		}
		throw new IllegalArgumentException(
			"Wrong type! No " + typeName + " value defined for: " + name);
	}
Sets the String value for the given name.
@param name the name of the String value that was previously defined
@param value the String to set as the value
@throws IllegalArgumentException if the name hasn't been defined as a String type
Ghidra/Framework/Docking/src/main/java/docking/widgets/values/GValuesMap.java