Index: /trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java	(revision 7019)
+++ /trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java	(revision 7020)
@@ -30,5 +30,4 @@
     public final Collection<WayPoint> waypoints = new LinkedList<>();
 
-    @SuppressWarnings("unchecked")
     public void mergeFrom(GpxData other) {
         if (storageFile == null && other.storageFile != null) {
@@ -41,6 +40,9 @@
             String k = ent.getKey();
             if (k.equals(META_LINKS) && attr.containsKey(META_LINKS)) {
-                ((Collection<GpxLink>) attr.get(META_LINKS)).addAll(
-                        (Collection<GpxLink>) ent.getValue());
+                @SuppressWarnings("unchecked")
+                Collection<GpxLink> my = (Collection<GpxLink>) attr.get(META_LINKS);
+                @SuppressWarnings("unchecked")
+                Collection<GpxLink> their = (Collection<GpxLink>) ent.getValue();
+                my.addAll(their);
             } else {
                 attr.put(k, ent.getValue());
Index: /trunk/src/org/openstreetmap/josm/gui/download/BookmarkSelection.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/download/BookmarkSelection.java	(revision 7019)
+++ /trunk/src/org/openstreetmap/josm/gui/download/BookmarkSelection.java	(revision 7020)
@@ -202,5 +202,5 @@
             b.setArea(currentArea);
             if (b.getName() != null && !b.getName().isEmpty()) {
-                ((DefaultListModel)bookmarks.getModel()).addElement(b);
+                ((DefaultListModel<BookmarkList.Bookmark>)bookmarks.getModel()).addElement(b);
                 bookmarks.save();
             }
Index: /trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java	(revision 7019)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java	(revision 7020)
@@ -619,6 +619,9 @@
             });
 
-            ListCellRenderer renderer = new DefaultListCellRenderer(){
-                @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+            ListCellRenderer<ActionDefinition> renderer = new ListCellRenderer<ActionDefinition>() {
+                final DefaultListCellRenderer def = new DefaultListCellRenderer();
+                @Override
+                public Component getListCellRendererComponent(JList<? extends ActionDefinition> list,
+                        ActionDefinition value, int index, boolean isSelected, boolean cellHasFocus) {
                     String s;
                     Icon i;
@@ -631,5 +634,5 @@
                         s = tr("Separator");
                     }
-                    JLabel l = (JLabel)super.getListCellRendererComponent(list, s, index, isSelected, cellHasFocus);
+                    JLabel l = (JLabel)def.getListCellRendererComponent(list, s, index, isSelected, cellHasFocus);
                     l.setIcon(i);
                     return l;
@@ -654,4 +657,5 @@
             selectedList.setTransferHandler(new TransferHandler() {
                 @Override
+                @SuppressWarnings("unchecked")
                 protected Transferable createTransferable(JComponent c) {
                     List<ActionDefinition> actions = new ArrayList<>();
@@ -686,4 +690,5 @@
                     try {
                         int dropIndex = selectedList.locationToIndex(selectedList.getMousePosition(true));
+                        @SuppressWarnings("unchecked")
                         List<ActionDefinition> draggedData = (List<ActionDefinition>) t.getTransferData(ACTION_FLAVOR);
 
Index: /trunk/src/org/openstreetmap/josm/gui/preferences/display/LafPreference.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/display/LafPreference.java	(revision 7019)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/display/LafPreference.java	(revision 7020)
@@ -84,8 +84,10 @@
         }
 
-        final ListCellRenderer oldRenderer = lafCombo.getRenderer();
-        lafCombo.setRenderer(new DefaultListCellRenderer(){
-            @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
-                return oldRenderer.getListCellRendererComponent(list, ((LookAndFeelInfo)value).getName(), index, isSelected, cellHasFocus);
+        lafCombo.setRenderer(new ListCellRenderer<LookAndFeelInfo>(){
+            final DefaultListCellRenderer def = new DefaultListCellRenderer();
+            @Override
+            public Component getListCellRendererComponent(JList<? extends LookAndFeelInfo> list, LookAndFeelInfo value, 
+                    int index, boolean isSelected, boolean cellHasFocus) {
+                return def.getListCellRendererComponent(list, value.getName(), index, isSelected, cellHasFocus);
             }
         });
Index: /trunk/src/org/openstreetmap/josm/gui/preferences/display/LanguagePreference.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/display/LanguagePreference.java	(revision 7019)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/display/LanguagePreference.java	(revision 7020)
@@ -53,5 +53,5 @@
         model.selectLanguage(Main.pref.get("language"));
         langCombo = new JosmComboBox<>(model);
-        langCombo.setRenderer(new LanguageCellRenderer(langCombo.getRenderer()));
+        langCombo.setRenderer(new LanguageCellRenderer());
 
         LafPreference lafPreference = gui.getSetting(LafPreference.class);
@@ -109,13 +109,12 @@
     }
 
-    private static class LanguageCellRenderer extends DefaultListCellRenderer {
-        private ListCellRenderer dispatch;
-        public LanguageCellRenderer(ListCellRenderer dispatch) {
-            this.dispatch = dispatch;
+    private static class LanguageCellRenderer implements ListCellRenderer<Locale> {
+        private final DefaultListCellRenderer dispatch;
+        public LanguageCellRenderer() {
+            this.dispatch = new DefaultListCellRenderer();
         }
         @Override
-        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
-                boolean cellHasFocus) {
-            Locale l = (Locale) value;
+        public Component getListCellRendererComponent(JList<? extends Locale> list, Locale l, 
+                int index, boolean isSelected, boolean cellHasFocus) {
             return dispatch.getListCellRendererComponent(list,
                     l == null ? tr("Default (Auto determined)") : l.getDisplayName(l),
