Note to proprietary software developers: if you throw an exception put some details in there about the values of the variables involved with the exception. Telling me something doesn’t compare but not telling me what was being compared is not much use. Reason number 433 that I like open source software… I could just put in a more detailed exception message myself. The alternative leaves me having to cycle through many iterations of changing variables to see which one is the significant one. Sigh.

UPDATE: The lesson from this experience is that, when you are stuck in this cycle, you should minimize the number of processes involved with the iteration. For instance, debug in the proprietary vendor’s client-side XQuery client rather than in the web application (with full Tomcat restart cycles). It seems obvious, I know… It requires that code be modularized, but that’s always a Good Thing®.