Index: /trunk/josm.jnlp
===================================================================
--- /trunk/josm.jnlp	(revision 7016)
+++ /trunk/josm.jnlp	(revision 7017)
@@ -20,5 +20,5 @@
     </security>
     <resources>
-        <j2se version="1.6+"/>
+        <j2se version="1.7+"/>
         <jar href="josm-tested.jar"/>
         <property name="java.util.Arrays.useLegacyMergeSort" value="true"/>
Index: /trunk/src/org/openstreetmap/josm/actions/AbstractMergeAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/AbstractMergeAction.java	(revision 7016)
+++ /trunk/src/org/openstreetmap/josm/actions/AbstractMergeAction.java	(revision 7017)
@@ -58,5 +58,5 @@
 
     protected Layer askTargetLayer(List<Layer> targetLayers) {
-        JosmComboBox layerList = new JosmComboBox(targetLayers.toArray());
+        JosmComboBox<Layer> layerList = new JosmComboBox<>(targetLayers.toArray(new Layer[0]));
         layerList.setRenderer(new LayerListCellRenderer());
         layerList.setSelectedIndex(0);
Index: /trunk/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java	(revision 7016)
+++ /trunk/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java	(revision 7017)
@@ -102,5 +102,5 @@
             final WMSLayerTree tree = new WMSLayerTree();
             tree.updateTree(wms);
-            final JComboBox formats = new JComboBox(wms.getFormats().toArray());
+            final JComboBox<String> formats = new JComboBox<>(wms.getFormats().toArray(new String[0]));
             formats.setSelectedItem(wms.getPreferredFormats());
             formats.setToolTipText(tr("Select image format for WMS layer"));
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMergeModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMergeModel.java	(revision 7016)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMergeModel.java	(revision 7017)
@@ -826,5 +826,5 @@
     }
 
-    public class ComparePairListModel extends AbstractListModel implements ComboBoxModel {
+    public class ComparePairListModel extends AbstractListModel<ComparePairType> implements ComboBoxModel<ComparePairType> {
 
         private int selectedIdx;
@@ -843,5 +843,5 @@
 
         @Override
-        public Object getElementAt(int index) {
+        public ComparePairType getElementAt(int index) {
             if (index < compareModes.size())
                 return compareModes.get(index);
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMerger.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMerger.java	(revision 7016)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/pair/ListMerger.java	(revision 7017)
@@ -240,5 +240,5 @@
         p.setLayout(new FlowLayout(FlowLayout.LEFT));
         p.add(new JLabel(tr("Compare ")));
-        JosmComboBox cbComparePair = new JosmComboBox(model.getComparePairListModel());
+        JosmComboBox<ComparePairType> cbComparePair = new JosmComboBox<>(model.getComparePairListModel());
         cbComparePair.setRenderer(new ComparePairListCellRenderer());
         p.add(cbComparePair);
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueCellRenderer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueCellRenderer.java	(revision 7016)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueCellRenderer.java	(revision 7017)
@@ -27,6 +27,6 @@
     private ImageIcon iconDecided;
     private ImageIcon iconUndecided;
-    private DefaultComboBoxModel model;
-    private JosmComboBox cbDecisionRenderer;
+    private DefaultComboBoxModel<Object> model;
+    private JosmComboBox<Object> cbDecisionRenderer;
 
     /**
@@ -37,5 +37,6 @@
         iconDecided = ImageProvider.get("dialogs/conflict", "tagconflictresolved");
         iconUndecided = ImageProvider.get("dialogs/conflict", "tagconflictunresolved");
-        cbDecisionRenderer = new JosmComboBox(model = new DefaultComboBoxModel());
+        model = new DefaultComboBoxModel<>();
+        cbDecisionRenderer = new JosmComboBox<>(model);
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecisionRenderer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecisionRenderer.java	(revision 7016)
+++ /trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecisionRenderer.java	(revision 7017)
@@ -16,5 +16,5 @@
 public class RelationMemberConflictDecisionRenderer extends JLabel implements TableCellRenderer, ListCellRenderer<RelationMemberConflictDecisionType> {
 
-    private JosmComboBox cbDecisionTypes;
+    private JosmComboBox<RelationMemberConflictDecisionType> cbDecisionTypes;
 
     protected void resetTableRenderer() {
@@ -36,5 +36,5 @@
      */
     public RelationMemberConflictDecisionRenderer() {
-        cbDecisionTypes = new JosmComboBox(RelationMemberConflictDecisionType.values());
+        cbDecisionTypes = new JosmComboBox<>(RelationMemberConflictDecisionType.values());
         cbDecisionTypes.setRenderer(this);
     }
Index: /trunk/src/org/openstreetmap/josm/gui/download/PlaceSelection.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/download/PlaceSelection.java	(revision 7016)
+++ /trunk/src/org/openstreetmap/josm/gui/download/PlaceSelection.java	(revision 7017)
@@ -73,5 +73,5 @@
         new Server("Nominatim","https://nominatim.openstreetmap.org/search?format=xml&q=",tr("Class Type"),tr("Bounds"))
     };
-    private final JosmComboBox server = new JosmComboBox(SERVERS);
+    private final JosmComboBox<Server> server = new JosmComboBox<>(SERVERS);
 
     private static class Server {
Index: /trunk/src/org/openstreetmap/josm/gui/io/ChangesetManagementPanel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/ChangesetManagementPanel.java	(revision 7016)
+++ /trunk/src/org/openstreetmap/josm/gui/io/ChangesetManagementPanel.java	(revision 7017)
@@ -53,5 +53,5 @@
     private JRadioButton rbUseNew;
     private JRadioButton rbExisting;
-    private JosmComboBox cbOpenChangesets;
+    private JosmComboBox<Changeset> cbOpenChangesets;
     private JCheckBox cbCloseAfterUpload;
     private OpenChangesetComboBoxModel model;
@@ -105,5 +105,5 @@
         model = new OpenChangesetComboBoxModel();
         ChangesetCache.getInstance().addChangesetCacheListener(model);
-        cbOpenChangesets = new JosmComboBox(model);
+        cbOpenChangesets = new JosmComboBox<>(model);
         cbOpenChangesets.setToolTipText(tr("Select an open changeset"));
         cbOpenChangesets.setRenderer(new ChangesetCellRenderer());
@@ -208,7 +208,6 @@
 
     /**
-     * Replies true if the user has chosen to close the changeset after the
-     * next upload
-     *
+     * Determines if the user has chosen to close the changeset after the next upload.
+     * @return {@code true} if the user has chosen to close the changeset after the next upload
      */
     public boolean isCloseChangesetAfterUpload() {
Index: /trunk/src/org/openstreetmap/josm/gui/io/CloseChangesetDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/CloseChangesetDialog.java	(revision 7016)
+++ /trunk/src/org/openstreetmap/josm/gui/io/CloseChangesetDialog.java	(revision 7017)
@@ -47,5 +47,5 @@
     private boolean canceled;
     /** the list model */
-    private DefaultListModel model;
+    private DefaultListModel<Changeset> model;
 
     private SideButton btnCloseChangesets;
@@ -62,6 +62,6 @@
         JPanel pnl = new JPanel();
         pnl.setLayout(new BorderLayout());
-        model = new DefaultListModel();
-        pnl.add(new JScrollPane(lstOpenChangesets = new JList(model)), BorderLayout.CENTER);
+        model = new DefaultListModel<>();
+        pnl.add(new JScrollPane(lstOpenChangesets = new JList<>(model)), BorderLayout.CENTER);
         lstOpenChangesets.setCellRenderer(new ChangesetCellRenderer());
         return pnl;
@@ -110,4 +110,7 @@
     }
 
+    /**
+     * Constructs a new {@code CloseChangesetDialog}.
+     */
     public CloseChangesetDialog() {
         super(JOptionPane.getFrameForComponent(Main.parent), ModalityType.DOCUMENT_MODAL);
@@ -130,5 +133,5 @@
 
         protected void refreshEnabledState() {
-            List list = lstOpenChangesets.getSelectedValuesList();
+            List<Changeset> list = lstOpenChangesets.getSelectedValuesList();
             setEnabled(list != null && !list.isEmpty());
         }
Index: /trunk/src/org/openstreetmap/josm/gui/io/OpenChangesetComboBoxModel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/OpenChangesetComboBoxModel.java	(revision 7016)
+++ /trunk/src/org/openstreetmap/josm/gui/io/OpenChangesetComboBoxModel.java	(revision 7017)
@@ -17,5 +17,5 @@
  *
  */
-public class OpenChangesetComboBoxModel extends DefaultComboBoxModel implements ChangesetCacheListener {
+public class OpenChangesetComboBoxModel extends DefaultComboBoxModel<Changeset> implements ChangesetCacheListener {
     private List<Changeset> changesets;
     private Changeset selectedChangeset = null;
@@ -28,4 +28,7 @@
     }
 
+    /**
+     * Constructs a new {@code OpenChangesetComboBoxModel}.
+     */
     public OpenChangesetComboBoxModel() {
         this.changesets = new ArrayList<>();
@@ -71,5 +74,5 @@
     /* ------------------------------------------------------------------------------------ */
     @Override
-    public Object getElementAt(int index) {
+    public Changeset getElementAt(int index) {
         return changesets.get(index);
     }
Index: /trunk/src/org/openstreetmap/josm/gui/io/SaveLayersDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/SaveLayersDialog.java	(revision 7016)
+++ /trunk/src/org/openstreetmap/josm/gui/io/SaveLayersDialog.java	(revision 7017)
@@ -161,5 +161,5 @@
     private static class  LayerListWarningMessagePanel extends JPanel {
         private JLabel lblMessage;
-        private JList lstLayers;
+        private JList<SaveLayerInfo> lstLayers;
 
         protected void build() {
@@ -173,5 +173,5 @@
             add(lblMessage = new JLabel(), gc);
             lblMessage.setHorizontalAlignment(JLabel.LEFT);
-            lstLayers = new JList<SaveLayerInfo>();
+            lstLayers = new JList<>();
             lstLayers.setCellRenderer(
                     new DefaultListCellRenderer() {
@@ -197,5 +197,5 @@
             build();
             lblMessage.setText(msg);
-            lstLayers.setListData(infos.toArray());
+            lstLayers.setListData(infos.toArray(new SaveLayerInfo[0]));
         }
     }
Index: /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 7016)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 7017)
@@ -119,5 +119,5 @@
     List<GpxDataWrapper> gpxLst = new ArrayList<>();
     JPanel outerPanel;
-    JosmComboBox cbGpx;
+    JosmComboBox<GpxDataWrapper> cbGpx;
     JosmTextField tfTimezone;
     JosmTextField tfOffset;
@@ -227,5 +227,5 @@
         JLabel lbExifTime;
         JosmTextField tfGpsTime;
-        JosmComboBox cbTimezones;
+        JosmComboBox<String> cbTimezones;
         ImageDisplay imgDisp;
         JList<String> imgList;
@@ -306,5 +306,5 @@
             Collections.sort(vtTimezones);
 
-            cbTimezones = new JosmComboBox(vtTimezones.toArray());
+            cbTimezones = new JosmComboBox<>(vtTimezones.toArray(new String[0]));
 
             String tzId = Main.pref.get("geoimage.timezoneid", "");
@@ -376,5 +376,5 @@
 
                 @Override
-                public void actionPerformed(ActionEvent arg0) {
+                public void actionPerformed(ActionEvent ae) {
                     JFileChooser fc = DiskAccessAction.createAndOpenFileChooser(true, false, null, JpegFileFilter.getInstance(), JFileChooser.FILES_ONLY, "geoimage.lastdirectory");
                     if (fc == null)
@@ -480,5 +480,5 @@
         panelCb.add(new JLabel(tr("GPX track: ")));
 
-        cbGpx = new JosmComboBox(gpxLst.toArray());
+        cbGpx = new JosmComboBox<>(gpxLst.toArray(new GpxDataWrapper[0]));
         if (defaultItem != null) {
             cbGpx.setSelectedItem(defaultItem);
Index: /trunk/src/org/openstreetmap/josm/gui/layer/gpx/DownloadWmsAlongTrackAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/gpx/DownloadWmsAlongTrackAction.java	(revision 7016)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/gpx/DownloadWmsAlongTrackAction.java	(revision 7017)
@@ -70,5 +70,5 @@
                             try {
                                 wait(200);
-                            } catch (InterruptedException e) {
+                            } catch (InterruptedException ex) {
                                 Main.warn("InterruptedException in "+getClass().getSimpleName()+" while precaching WMS");
                             }
@@ -101,5 +101,5 @@
             return null;
         }
-        JosmComboBox layerList = new JosmComboBox(targetLayers.toArray());
+        JosmComboBox<WMSLayer> layerList = new JosmComboBox<>(targetLayers.toArray(new WMSLayer[0]));
         layerList.setRenderer(new LayerListCellRenderer());
         layerList.setSelectedIndex(0);
@@ -120,4 +120,3 @@
         JOptionPane.showMessageDialog(Main.parent, tr("There are no imagery layers."), tr("No imagery layers"), JOptionPane.WARNING_MESSAGE);
     }
-
 }
