The admin servlet has a call that returns a list of available timezones. On startup, it prepares a list of GMT offsets (e.g. "GMT-12:00", "GMT-11:00", etc), which is only generated once. But the rest of the timezones (e.g. "America/Los_Angeles", etc) are processed from TimeZone every time the admin servlet is asked for the list.
We should refactor this to generate/process the entire list either the first time its called or at startup and then simply return the JSONArray when the admin servlet is asked for the list.