Why use NULL? It would probably be cleaner to detect optString returning the empty string and return false, than relying on an implicit relationship between DOMAINS and "NULL"