What is the purpose of the UserException?  What will it convey?  Need to add javadoc comment to explain it.