Properties are a Hashtable underneath and so do not allow null values (unlike a HashMap would). So when an empty property is translated by getStringProperty() which returns null, we get a null pointer exception.
This was discovered by a user on this thread:
http://forums.opensymphony.com/thread.jspa?messageID=92493
The fix is to provide a default value of empty string to getStringProperty so it won't use the default default of null.