title: SwingX AutoCompleteDecorator JTextField Errors
body: <p>I'm testing out the SwingX AutoCompleteDecorator, the code I'm using is this: </p>
  
  <pre><code>import javax.swing.text.JTextComponent;
  import javax.swing.JFrame;
  import javax.swing.JTextField;
  import javax.swing.JPanel;
  import javax.swing.JList;
  
  import org.jdesktop.swingx.autocomplete.*;
  
  public class Test extends JFrame
  {
      public Test()
      {
          this.setTitle("Testing");
          JPanel pan = new JPanel();
          JTextComponent test = new JTextField();
          ((JTextField)test).setColumns(20);
          String[] data = {"one", "two", "three", "four"}; 
          JList dataList = new JList(data); 
          AutoCompleteDecorator.decorate(dataList, test);
          pan.add(test);
          this.setContentPane(pan);
          this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          this.setVisible(true);
          this.setBounds(280,150,500,200);
  
      }
      public static void main(String[] args)
      {
          Test t = new Test();
      }
  }     
  </code></pre>
  
  <p>I wind up getting a massive runtime error message that I don't really want to post the stack trace for about an Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException:</p>
  
  <pre><code>Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
      at org.jdesktop.swingx.autocomplete.ListAdaptor.valueChanged(ListAdaptor.java:77)
      at javax.swing.JList.fireSelectionValueChanged(JList.java:1798)
      at javax.swing.JList$ListSelectionHandler.valueChanged(JList.java:1812)
      at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
      at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)
      at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)
      at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405)
      at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415)
      at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:459)
      at javax.swing.JList.setSelectedIndex(JList.java:2212)
      at javax.swing.JList.setSelectedValue(JList.java:2362)
      at org.jdesktop.swingx.autocomplete.ListAdaptor.setSelectedItem(ListAdaptor.java:99)
      at org.jdesktop.swingx.autocomplete.AutoCompleteDocument.setSelectedItem(AutoCompleteDocument.java:355)
      at org.jdesktop.swingx.autocomplete.AutoCompleteDocument.insertString(AutoCompleteDocument.java:303)
      at javax.swing.text.JTextComponent.replaceSelection(JTextComponent.java:1386)
      at javax.swing.text.DefaultEditorKit$DefaultKeyTypedAction.actionPerformed(DefaultEditorKit.java:884)
      at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1664)
      at javax.swing.JComponent.processKeyBinding(JComponent.java:2879)
      at javax.swing.JComponent.processKeyBindings(JComponent.java:2926)
      at javax.swing.JComponent.processKeyEvent(JComponent.java:2842)
      at java.awt.Component.processEvent(Component.java:6282)
      at java.awt.Container.processEvent(Container.java:2229)
      at java.awt.Component.dispatchEventImpl(Component.java:4861)
      at java.awt.Container.dispatchEventImpl(Container.java:2287)
      at java.awt.Component.dispatchEvent(Component.java:4687)
      at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1895)
      at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:762)
      at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1027)
      at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:899)
      at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:727)
      at java.awt.Component.dispatchEventImpl(Component.java:4731)
      at java.awt.Container.dispatchEventImpl(Container.java:2287)
      at java.awt.Window.dispatchEventImpl(Window.java:2719)
      at java.awt.Component.dispatchEvent(Component.java:4687)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
      at java.awt.EventQueue.access$200(EventQueue.java:103)
      at java.awt.EventQueue$3.run(EventQueue.java:688)
      at java.awt.EventQueue$3.run(EventQueue.java:686)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
      at java.awt.EventQueue$4.run(EventQueue.java:702)
      at java.awt.EventQueue$4.run(EventQueue.java:700)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
  </code></pre>
  
  <p>What have I missed?</p>