Description
There's a race condition that can cause a NullPointerException on startup of the CPE GUI. The GUI loads the last known CPE descriptor and attempts to populate the GUI. If there are JList widgets needed (for multi-valued parameters) you can sometimes get a NullPointerException in javax.swing.plaf.basic.BasicListUI.updateLayoutState. Sometimes this error prevents the CPE GUI from starting (other times it is just printed on the console).
Swing isn't thread-safe and I think we aren't doing proper synchronization here.