After quite a lot of time I finally figured out that the reason I could not use Pollo 0.3.6 after switching to it from an older Pollo version was my existing .pollorc file in my homedir was incompativle with new version. Pollo ran but it died with an exception every time I opened a file.
The clue that tipped me off was this line in the stack trace - org.outerj.pollo.config.PolloConfiguration$RecentlyUsedModel.getElementAt(PolloConfiguration.java:515). The file I was opening had never been opened before so I could not think of any reason it needed to load that file.
Since I got the exception even when loading an XML file I had never opened before that sort of pointed to the .pollorc file - it was the only file I had seen Pollo caching persistent information to for use from one invocation to the next. I renamed it and reran Pollo 0.3.6, which started working fine.
For that reason, I _strongly_ recommend adding a version attribute to the document level element of the .pollorc file and it it is too old to use as is, doing a version aware upgrade of the contents. Perhaps it would be good idea to back up the old version at that point too, just to keep everything safe.
I rely on Pollo for editing Cocoon 2 sitemap files, ANT build files, custom application files, etc. I think having the program deftly handle versioning issues with its own configuration date file are vital for it to earn its rightful place as the leading tool for these uses. Pollo is just wonderful and this is the only major problem I have encountered with using it since 2001.
apple.awt.EventQueueExceptionHandler Caught Throwable :
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.RangeCheck(ArrayList.java:508)
at java.util.ArrayList.get(ArrayList.java:320)
at org.outerj.pollo.config.PolloConfiguration$RecentlyUsedModel.getElementAt(PolloConfiguration.java:515)
at javax.swing.JComboBox.getItemAt(JComboBox.java:1395)
at apple.laf.AquaComboBoxRenderer.getListCellRendererComponent(AquaComboBoxRenderer.java:93)
at javax.swing.plaf.basic.BasicComboBoxUI.getDisplaySize(BasicComboBoxUI.java:1280)
at javax.swing.plaf.basic.BasicComboBoxUI.getMinimumSize(BasicComboBoxUI.java:965)
at apple.laf.AquaComboBoxUI.getMinimumSize(AquaComboBoxUI.java:184)
at javax.swing.plaf.basic.BasicComboBoxUI.getPreferredSize(BasicComboBoxUI.java:955)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1272)
at org.outerj.pollo.gui.ViewTypesDialog.<init>(ViewTypesDialog.java:146)
at org.outerj.pollo.gui.ViewTypesDialog.getInstance(ViewTypesDialog.java:51)
at org.outerj.pollo.Pollo.createEditorPanel(Pollo.java:141)
at org.outerj.pollo.Pollo.openFile(Pollo.java:120)
at org.outerj.pollo.action.FileOpenAction.actionPerformed(FileOpenAction.java:51)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1797)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1850)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
at javax.swing.AbstractButton.doClick(AbstractButton.java:321)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1109)
at javax.swing.plaf.basic.BasicMenuItemUI$MenuDragMouseHandler.menuDragMouseReleased(BasicMenuItemUI.java:1002)
at javax.swing.JMenuItem.fireMenuDragMouseReleased(JMenuItem.java:582)
at javax.swing.JMenuItem.processMenuDragMouseEvent(JMenuItem.java:479)
at javax.swing.JMenuItem.processMouseEvent(JMenuItem.java:426)
at javax.swing.MenuSelectionManager.processMouseEvent(MenuSelectionManager.java:274)
at javax.swing.plaf.basic.BasicMenuUI$MouseInputHandler.mouseReleased(BasicMenuUI.java:344)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:227)
at java.awt.Component.processMouseEvent(Component.java:5093)
at java.awt.Component.processEvent(Component.java:4890)
at java.awt.Container.processEvent(Container.java:1566)
at java.awt.Component.dispatchEventImpl(Component.java:3598)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Component.dispatchEvent(Component.java:3439)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
at java.awt.Container.dispatchEventImpl(Container.java:1609)
at java.awt.Window.dispatchEventImpl(Window.java:1585)
at java.awt.Component.dispatchEvent(Component.java:3439)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:230)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)