@Override
	public void setAsText(String text) throws java.lang.IllegalArgumentException {
		Object value = getValue();
		if (value == null || value instanceof String) {
			setValue(text);
			return;
		}
		throw new java.lang.IllegalArgumentException(text);
	}
The comment in the parent "PropertyEditorSupport" reads:

<blockquote>
<p>
Sets the property value by parsing a given String. May raise
java.lang.IllegalArgumentException if either the String is badly formatted or if this kind of
property can't be expressed as text.
</p>
</blockquote>

<p>
which would be fine, except for the fact that Java initializes "value" to null, so every use
of this method has to insure that setValue has been called at least once with a non-null
value. If not, the method throws the IllegalArgumentException despite the fact that the input
is not badly formatted and CAN be expressed as text.
Ghidra/Framework/Docking/src/main/java/docking/options/editor/StringEditor.java