Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/access/AccessRulesetReader.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/access/AccessRulesetReader.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/access/AccessRulesetReader.java	(revision 30737)
@@ -65,5 +65,5 @@
                 List<String> names;
                 if (parent == null) {
-                    names = new LinkedList<String>();
+                    names = new LinkedList<>();
                 } else {
                     names = parent.getAncestorHierarchy();
@@ -74,6 +74,6 @@
         }
 
-        private final Collection<AccessClass> accessClasses = new LinkedList<AccessClass>();
-        private final Collection<Tag> baseTags = new LinkedList<Tag>();
+        private final Collection<AccessClass> accessClasses = new LinkedList<>();
+        private final Collection<Tag> baseTags = new LinkedList<>();
 
         private static enum Section {NONE, CLASSES, BASETAGS, IMPLICATIONS};
@@ -83,5 +83,5 @@
 
         private ImplicationXMLReader implicationReader = null;
-        private final List<Implication> implications = new LinkedList<Implication>();
+        private final List<Implication> implications = new LinkedList<>();
 
         /** returns the AccessRuleset that was read */
@@ -96,5 +96,5 @@
                         }
                     }
-                    return new LinkedList<String>();
+                    return new LinkedList<>();
                 }
 
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/access/Implication.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/access/Implication.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/access/Implication.java	(revision 30737)
@@ -34,5 +34,5 @@
         if (condition.matches(tags)) {
 
-            Map<String, String> newTagMap = new HashMap<String, String>();
+            Map<String, String> newTagMap = new HashMap<>();
 
             for (Tag tag : tags) {
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/access/ImplicationXMLReader.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/access/ImplicationXMLReader.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/access/ImplicationXMLReader.java	(revision 30737)
@@ -19,5 +19,5 @@
 public class ImplicationXMLReader {
 
-    private final List<Implication> implications = new LinkedList<Implication>();
+    private final List<Implication> implications = new LinkedList<>();
 
     private static enum State {BEFORE_IMPLICATION, BEFORE_CONDITION, CONDITION, BEFORE_IMPLIES, IMPLIES, AFTER_IMPLIES};
@@ -58,5 +58,5 @@
 
                 if ("implies".equals(name)) {
-                    currentImpliedTags = new LinkedList<Tag>();
+                    currentImpliedTags = new LinkedList<>();
                     state = State.IMPLIES;
                     return;
@@ -137,5 +137,5 @@
             throw new SAXException(tr("Some tags have not been closed; now in state {0}", state));
         } else {
-            return new ArrayList<Implication>(implications);
+            return new ArrayList<>(implications);
         }
     }
@@ -175,5 +175,5 @@
         boolean finished;
 
-        private final List<ConditionReader> childReaders = new LinkedList<ConditionReader>();
+        private final List<ConditionReader> childReaders = new LinkedList<>();
         private ConditionReader currentChildReader = null;
 
@@ -234,5 +234,5 @@
                 if (openingName.equals(name)) {
 
-                    List<TagCondition> childConditions = new ArrayList<TagCondition>();
+                    List<TagCondition> childConditions = new ArrayList<>();
                     for (ConditionReader childReader : childReaders) {
                         childConditions.add(childReader.getCondition());
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/access/RulesetAccessEvaluator.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/access/RulesetAccessEvaluator.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/access/RulesetAccessEvaluator.java	(revision 30737)
@@ -126,5 +126,5 @@
          */
 
-        Map<String, AccessType> accessTypePerClass = new HashMap<String, AccessType>();
+        Map<String, AccessType> accessTypePerClass = new HashMap<>();
 
         for (String accessClass : accessClasses) {
@@ -155,5 +155,5 @@
         /* evaluate implied tagging of other tags */
 
-        Map<String, String> tagMap = new HashMap<String, String>();
+        Map<String, String> tagMap = new HashMap<>();
         for (Tag tag : wayTags) {
             if (!tag.equals(baseTag)) {
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/data/MapBasedTagGroup.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/data/MapBasedTagGroup.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/data/MapBasedTagGroup.java	(revision 30737)
@@ -34,5 +34,5 @@
             throw new IllegalArgumentException();
         }
-        this.tagMap = new HashMap<String, String>();
+        this.tagMap = new HashMap<>();
         for (Tag tag : tags) {
             if (tag == null) {
@@ -48,5 +48,5 @@
      */
     public MapBasedTagGroup(Tag... tags) {
-        this.tagMap = new HashMap<String, String>(tags.length);
+        this.tagMap = new HashMap<>(tags.length);
         for (Tag tag : tags) {
             if (tag == null) {
@@ -88,5 +88,5 @@
     public Iterator<Tag> iterator() {
 
-        Collection<Tag> tagCollection = new LinkedList<Tag>();
+        Collection<Tag> tagCollection = new LinkedList<>();
 
         for (String key : tagMap.keySet()) {
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/graph/ConnectorEvaluationGroup.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/graph/ConnectorEvaluationGroup.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/graph/ConnectorEvaluationGroup.java	(revision 30737)
@@ -30,5 +30,5 @@
 
         this.segments = segments;
-        this.borderNodes = new ArrayList<SegmentNode>(borderNodes);
+        this.borderNodes = new ArrayList<>(borderNodes);
     }
 
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/graph/EvaluationGroup.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/graph/EvaluationGroup.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/graph/EvaluationGroup.java	(revision 30737)
@@ -77,5 +77,5 @@
                 activeRestrictionsAfterSegment(firstSegment, EMPTY_RESTRICTION_LIST, restrictions);
 
-            Collection<Restriction> restrictionsForbiddenAtLastNode = new HashSet<Restriction>();
+            Collection<Restriction> restrictionsForbiddenAtLastNode = new HashSet<>();
             for (Restriction restriction : restrictions) {
                 if (restriction.getTos().contains(lastSegment)) {
@@ -110,5 +110,5 @@
         }
 
-        Queue<State> stateQueue = new LinkedList<State>();
+        Queue<State> stateQueue = new LinkedList<>();
         stateQueue.add(createStartingState(firstNode, initiallyActiveRestrictions));
 
@@ -143,5 +143,5 @@
         startingState.activeRestrictions = initiallyActiveRestrictions;
         startingState.segmentHistory = EMPTY_SEGMENT_LIST;
-        startingState.visitedNodes = new HashSet<SegmentNode>();
+        startingState.visitedNodes = new HashSet<>();
         startingState.visitedNodes.add(firstNode);
 
@@ -151,5 +151,5 @@
     private List<State> createSubsequentStates(State state, Collection<Restriction> allRestrictions) {
 
-        List<State> subsequentStates = new ArrayList<State>();
+        List<State> subsequentStates = new ArrayList<>();
 
         for (Segment segment : state.currentNode.getOutboundSegments()) {
@@ -163,5 +163,5 @@
                         segment, state.activeRestrictions, allRestrictions);
 
-                newState.segmentHistory = new ArrayList<Segment>(state.segmentHistory.size() + 1);
+                newState.segmentHistory = new ArrayList<>(state.segmentHistory.size() + 1);
                 newState.segmentHistory.addAll(state.segmentHistory);
                 newState.segmentHistory.add(segment);
@@ -169,5 +169,5 @@
                 newState.currentNode = segment.getNode2();
 
-                newState.visitedNodes = new HashSet<SegmentNode>(state.visitedNodes);
+                newState.visitedNodes = new HashSet<>(state.visitedNodes);
                 newState.visitedNodes.add(newState.currentNode);
 
@@ -200,5 +200,5 @@
             if (restriction.getFrom() == segment) {
                 if (result == EMPTY_RESTRICTION_LIST) {
-                    result = new ArrayList<Restriction>(restrictions.size());
+                    result = new ArrayList<>(restrictions.size());
                 }
                 result.add(restriction);
@@ -218,5 +218,5 @@
             if (restriction.getVias().contains(segment)) {
                 if (result == EMPTY_RESTRICTION_LIST) {
-                    result = new ArrayList<Restriction>(allRestrictions.size());
+                    result = new ArrayList<>(allRestrictions.size());
                 }
                 result.add(restriction);
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/graph/JunctionEvaluationGroup.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/graph/JunctionEvaluationGroup.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/graph/JunctionEvaluationGroup.java	(revision 30737)
@@ -84,6 +84,6 @@
          * is in the set and whose start node isn't (analogous for outbound segments)       */
 
-        inboundSegments = new ArrayList<Segment>();
-        outboundSegments = new ArrayList<Segment>();
+        inboundSegments = new ArrayList<>();
+        outboundSegments = new ArrayList<>();
 
         for (SegmentNode segmentNode : segmentNodes) {
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/graph/TSBasedWayGraph.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/graph/TSBasedWayGraph.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/graph/TSBasedWayGraph.java	(revision 30737)
@@ -30,6 +30,6 @@
         private final SegmentNode node;
         private final Segment segment;
-        private final List<GraphEdge> incomingEdges = new ArrayList<GraphEdge>();
-        private final List<GraphEdge> outgoingEdges = new ArrayList<GraphEdge>();
+        private final List<GraphEdge> incomingEdges = new ArrayList<>();
+        private final List<GraphEdge> outgoingEdges = new ArrayList<>();
         public GraphNodeImpl(SegmentNode node, Segment segment) {
             assert node != null && segment != null;
@@ -101,5 +101,5 @@
     };
 
-    private final Set<WayGraphObserver> observers = new HashSet<WayGraphObserver>();
+    private final Set<WayGraphObserver> observers = new HashSet<>();
 
     private final TransitionStructure transitionStructure;
@@ -147,5 +147,5 @@
 
         Map<SegmentNode, Set<SegmentNode>> nodeSetMap =
-            new HashMap<SegmentNode, Set<SegmentNode>>();
+            new HashMap<>();
 
         /* first step: everything that is part of the same restriction goes into the same set */
@@ -189,5 +189,5 @@
 
         Map<Segment, Set<Segment>> segmentSetMap =
-            new HashMap<Segment, Set<Segment>>();
+            new HashMap<>();
 
         for (Segment segment : transitionStructure.getSegments()) {
@@ -218,14 +218,14 @@
 
         Collection<EvaluationGroup> evaluationGroups =
-            new ArrayList<EvaluationGroup>(nodeSetMap.size() + segmentSetMap.size());
-
-        Set<Set<SegmentNode>> nodeSets = new HashSet<Set<SegmentNode>>(nodeSetMap.values());
+            new ArrayList<>(nodeSetMap.size() + segmentSetMap.size());
+
+        Set<Set<SegmentNode>> nodeSets = new HashSet<>(nodeSetMap.values());
         for (Set<SegmentNode> nodeSet : nodeSets) {
             evaluationGroups.add(new JunctionEvaluationGroup(nodeSet));
         }
 
-        HashSet<Set<Segment>> hashSets = new HashSet<Set<Segment>>(segmentSetMap.values());
+        HashSet<Set<Segment>> hashSets = new HashSet<>(segmentSetMap.values());
         for (Set<Segment> segmentSet : hashSets) {
-            Set<SegmentNode> borderNodes = new HashSet<SegmentNode>();
+            Set<SegmentNode> borderNodes = new HashSet<>();
             for (Segment segment : segmentSet) {
                 if (nodeSetMap.containsKey(segment.getNode1())) {
@@ -245,26 +245,26 @@
             Collection<EvaluationGroup> evaluationGroups) {
 
-        nodes = new LinkedList<GraphNode>();
-        edges = new LinkedList<GraphEdge>();
+        nodes = new LinkedList<>();
+        edges = new LinkedList<>();
 
         //map from Segments to GraphNodes;
         //for those GraphNodes representing an "approaching node on segment" state
         final Map<Segment, GraphNodeImpl> segment2GNMap_approaching =
-            new HashMap<Segment, GraphNodeImpl>();
+            new HashMap<>();
 
         //map from Segments to GraphNodes;
         //for those GraphNodes representing a "leaving node on segment" state
         final Map<Segment, GraphNodeImpl> segment2GNMap_leaving =
-            new HashMap<Segment, GraphNodeImpl>();
+            new HashMap<>();
 
         //map from SegmentNodes to GraphNode collections;
         //for those GraphNodes representing an "approaching node on segment" state
         final Map<SegmentNode, Collection<GraphNodeImpl>> segNode2GNMap_approaching =
-            new HashMap<SegmentNode, Collection<GraphNodeImpl>>();
+            new HashMap<>();
 
         //map from SegmentNodes to GraphNodes collections;
         //for those GraphNodes representing a "leaving node on segment" state
         final Map<SegmentNode, Collection<GraphNodeImpl>> segNode2GNMap_leaving =
-            new HashMap<SegmentNode, Collection<GraphNodeImpl>>();
+            new HashMap<>();
 
 
@@ -366,5 +366,5 @@
 
         Map<GraphEdgePropertyType<?>, Object> properties =
-            new HashMap<GraphEdgePropertyType<?>, Object>(); //TODO: replace HashMap with List-based solution
+            new HashMap<>(); //TODO: replace HashMap with List-based solution
 
         for (GraphEdgePropertyType<?> propertyType : PROPERTY_TYPES) {
@@ -382,5 +382,5 @@
 
         Map<GraphEdgePropertyType<?>, Object> properties =
-            new HashMap<GraphEdgePropertyType<?>, Object>(); //TODO: replace HashMap with List-based solution
+            new HashMap<>(); //TODO: replace HashMap with List-based solution
 
         for (GraphEdgePropertyType<?> propertyType : PROPERTY_TYPES) {
@@ -411,5 +411,5 @@
     private static boolean isConnectedWithExactly2Nodes(SegmentNode node) {
 
-        Set<SegmentNode> connectedNodes = new HashSet<SegmentNode>(2);
+        Set<SegmentNode> connectedNodes = new HashSet<>(2);
 
         for (Segment segment : node.getInboundSegments()) {
@@ -430,5 +430,5 @@
 
         if (!objectSetMap.containsKey(object)) {
-            Set<T> set = new HashSet<T>();
+            Set<T> set = new HashSet<>();
             set.add(object);
             objectSetMap.put(object, set);
@@ -472,5 +472,5 @@
     private static <K, E> void addToCollectionMap(final Map<K, Collection<E>> map, K key, E entry) {
         if (!map.containsKey(key)) {
-            Collection<E> newCollection = new ArrayList<E>();
+            Collection<E> newCollection = new ArrayList<>();
             map.put(key, newCollection);
         }
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/transition/GenericTransitionStructure.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/transition/GenericTransitionStructure.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/transition/GenericTransitionStructure.java	(revision 30737)
@@ -33,11 +33,11 @@
         Collections.unmodifiableList(new ArrayList<Segment>(0));
     private static final Collection<Restriction> EMPTY_RESTRICTION_COLLECTION =
-        new ArrayList<Restriction>(0);
+        new ArrayList<>(0);
 
     private static class SegmentNodeImpl implements SegmentNode {
         private final double lat;
         private final double lon;
-        private final List<Segment> inboundSegments = new LinkedList<Segment>();
-        private final List<Segment> outboundSegments = new LinkedList<Segment>();
+        private final List<Segment> inboundSegments = new LinkedList<>();
+        private final List<Segment> outboundSegments = new LinkedList<>();
         private final Map<RoadPropertyType<?>, Object> properties;
         public SegmentNodeImpl(double lat, double lon, Map<RoadPropertyType<?>, Object> properties) {
@@ -148,5 +148,5 @@
     }
 
-    private final Set<TransitionStructureObserver> observers = new HashSet<TransitionStructureObserver>();
+    private final Set<TransitionStructureObserver> observers = new HashSet<>();
 
     private final Collection<RoadPropertyType<?>> properties;
@@ -160,6 +160,6 @@
 
     private Collection<SegmentNode> nodes = null;
-    private Collection<Segment> segments = new LinkedList<Segment>();
-    private Collection<Restriction> restrictions = new LinkedList<Restriction>();
+    private Collection<Segment> segments = new LinkedList<>();
+    private Collection<Restriction> restrictions = new LinkedList<>();
 
     public GenericTransitionStructure(
@@ -201,5 +201,5 @@
             assert dataSource != null;
 
-            accessEvaluator = new RulesetAccessEvaluator<N, W, R, M>(
+            accessEvaluator = new RulesetAccessEvaluator<>(
                     dataSource,
                     this.ruleset,
@@ -230,9 +230,9 @@
     protected void updateData() {
 
-        ArrayList<SegmentNode> nodes = new ArrayList<SegmentNode>();
-        ArrayList<Segment> segments = new ArrayList<Segment>();
-
-        Map<N, SegmentNodeImpl> nodeCreationMap = new HashMap<N, SegmentNodeImpl>();
-        Map<W, List<Segment>> waySegmentMap = new HashMap<W, List<Segment>>();
+        ArrayList<SegmentNode> nodes = new ArrayList<>();
+        ArrayList<Segment> segments = new ArrayList<>();
+
+        Map<N, SegmentNodeImpl> nodeCreationMap = new HashMap<>();
+        Map<W, List<Segment>> waySegmentMap = new HashMap<>();
 
         /* create segments (nodes are created only when included in a segment) */
@@ -372,5 +372,5 @@
         assert relations != null && nodeCreationMap != null && waySegmentMap != null;
 
-        Collection<Restriction> results = new LinkedList<Restriction>();
+        Collection<Restriction> results = new LinkedList<>();
 
         for (R relation : relations) {
@@ -404,7 +404,7 @@
 
         W fromWay = null;
-        Collection<N> viaNodes = new LinkedList<N>();
-        Collection<W> viaWays = new LinkedList<W>();
-        Collection<W> toWays = new LinkedList<W>();
+        Collection<N> viaNodes = new LinkedList<>();
+        Collection<W> viaWays = new LinkedList<>();
+        Collection<W> toWays = new LinkedList<>();
 
         for (M member : dataSource.getMembers(relation)) {
@@ -442,5 +442,5 @@
 
         } else {
-            return new ArrayList<Restriction>(0);
+            return new ArrayList<>(0);
         }
     }
@@ -451,5 +451,5 @@
             W fromWay, Collection<N> viaNodes, Collection<W> viaWays, Collection<W> toWays) {
 
-        Collection<SegmentNode> nodesCreatedFromViaNodes = new ArrayList<SegmentNode>(viaNodes.size());
+        Collection<SegmentNode> nodesCreatedFromViaNodes = new ArrayList<>(viaNodes.size());
         for (N viaNode : viaNodes) {
             if (nodeCreationMap.containsKey(viaNode)) {
@@ -483,5 +483,5 @@
          * or segments starting and ending with nodes created from via nodes */
 
-        ArrayList<Segment> viaSegments = new ArrayList<Segment>();
+        ArrayList<Segment> viaSegments = new ArrayList<>();
 
         for (W viaWay : viaWays) {
@@ -502,5 +502,5 @@
 
         Set<SegmentNode> nodesCreatedFromViaMembers
-        = new HashSet<SegmentNode>(nodesCreatedFromViaNodes);
+        = new HashSet<>(nodesCreatedFromViaNodes);
 
         for (W viaWay : viaWays) {
@@ -518,5 +518,5 @@
 
         Segment fromSegment = null;
-        Collection<Segment> toSegments = new ArrayList<Segment>();
+        Collection<Segment> toSegments = new ArrayList<>();
 
         for (Segment possibleFromSegment : waySegmentMap.get(fromWay)) {
@@ -595,5 +595,5 @@
         /* create restriction */
 
-        Collection<Restriction> results = new ArrayList<Restriction>(1);
+        Collection<Restriction> results = new ArrayList<>(1);
         results.add(new RestrictionImpl(fromSegment, viaSegments, toSegments));
         return results;
@@ -618,5 +618,5 @@
         assert waySegmentMap != null;
 
-        Collection<Restriction> results = new LinkedList<Restriction>();
+        Collection<Restriction> results = new LinkedList<>();
 
         for (N node : nodeCreationMap.keySet()) {
@@ -645,5 +645,5 @@
     private Map<RoadPropertyType<?>, Object> getWayPropertyMap(W way, boolean forward) {
         Map<RoadPropertyType<?>, Object> propertyValues;
-        propertyValues = new HashMap<RoadPropertyType<?>, Object>();
+        propertyValues = new HashMap<>();
         for (RoadPropertyType<?> property : properties) {
             Object value = property.evaluateW(way, forward, accessParameters, dataSource);
@@ -661,5 +661,5 @@
     private Map<RoadPropertyType<?>, Object> getNodePropertyMap(N node) {
         Map<RoadPropertyType<?>, Object> propertyValues;
-        propertyValues = new HashMap<RoadPropertyType<?>, Object>();
+        propertyValues = new HashMap<>();
         for (RoadPropertyType<?> property : properties) {
             Object value = property.evaluateN(node, accessParameters, dataSource);
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/visualisation/FloatPropertyColorScheme.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/visualisation/FloatPropertyColorScheme.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/visualisation/FloatPropertyColorScheme.java	(revision 30737)
@@ -38,5 +38,5 @@
 
         this.propertyClass = propertyClass;
-        this.colorMap = new HashMap<Float, Color>(colorMap);
+        this.colorMap = new HashMap<>(colorMap);
         this.defaultColor = defaultColor;
     }
@@ -65,5 +65,5 @@
     public Color getNodeColor(GraphNode node) {
 
-        List<Color> segmentColors = new ArrayList<Color>();
+        List<Color> segmentColors = new ArrayList<>();
 
 
@@ -106,5 +106,5 @@
         } else {
 
-            LinkedList<Float> valuesWithDefinedColor = new LinkedList<Float>(colorMap.keySet());
+            LinkedList<Float> valuesWithDefinedColor = new LinkedList<>(colorMap.keySet());
             Collections.sort(valuesWithDefinedColor);
 
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/visualisation/InclineColorScheme.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/visualisation/InclineColorScheme.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/visualisation/InclineColorScheme.java	(revision 30737)
@@ -15,5 +15,5 @@
 
     static {
-        COLOR_MAP = new HashMap<Float, Color>();
+        COLOR_MAP = new HashMap<>();
         COLOR_MAP.put(-30f, Color.BLUE);
         COLOR_MAP.put(0f, Color.WHITE);
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/visualisation/MaxheightColorScheme.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/visualisation/MaxheightColorScheme.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/visualisation/MaxheightColorScheme.java	(revision 30737)
@@ -15,5 +15,5 @@
 
     static {
-        COLOR_MAP = new HashMap<Float, Color>();
+        COLOR_MAP = new HashMap<>();
         COLOR_MAP.put(0f, new Color(0, 0, 50));
         COLOR_MAP.put(10f, new Color(100, 100, 255));
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/visualisation/MaxspeedColorScheme.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/visualisation/MaxspeedColorScheme.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/visualisation/MaxspeedColorScheme.java	(revision 30737)
@@ -15,5 +15,5 @@
 
     static {
-        COLOR_MAP = new HashMap<Float, Color>();
+        COLOR_MAP = new HashMap<>();
         COLOR_MAP.put(0f, new Color(50, 0, 0));
         COLOR_MAP.put(30f, Color.RED);
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/visualisation/MaxweightColorScheme.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/visualisation/MaxweightColorScheme.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/core/visualisation/MaxweightColorScheme.java	(revision 30737)
@@ -15,5 +15,5 @@
 
     static {
-        COLOR_MAP = new HashMap<Float, Color>();
+        COLOR_MAP = new HashMap<>();
         COLOR_MAP.put(0f, new Color(0, 0, 50));
         COLOR_MAP.put(20f, new Color(100, 100, 255));
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/GraphViewPlugin.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/GraphViewPlugin.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/GraphViewPlugin.java	(revision 30737)
@@ -57,5 +57,5 @@
 
     static {
-        PROPERTIES = new LinkedList<RoadPropertyType<?>>();
+        PROPERTIES = new LinkedList<>();
         PROPERTIES.add(new RoadIncline());
         PROPERTIES.add(new RoadMaxaxleload());
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/data/JOSMDataSource.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/data/JOSMDataSource.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/data/JOSMDataSource.java	(revision 30737)
@@ -39,9 +39,9 @@
 
     public Iterable<Node> getNodes(Way way) {
-        return new FilteredOsmPrimitiveIterable<Node>(way.getNodes());
+        return new FilteredOsmPrimitiveIterable<>(way.getNodes());
     }
 
     public Iterable<Node> getNodes() {
-        return new FilteredOsmPrimitiveIterable<Node>(Main.main.getCurrentDataSet().getNodes());
+        return new FilteredOsmPrimitiveIterable<>(Main.main.getCurrentDataSet().getNodes());
     }
 
@@ -51,5 +51,5 @@
 
     public Iterable<Way> getWays() {
-        return new FilteredOsmPrimitiveIterable<Way>(Main.main.getCurrentDataSet().getWays());
+        return new FilteredOsmPrimitiveIterable<>(Main.main.getCurrentDataSet().getWays());
     }
 
@@ -97,5 +97,5 @@
     private static final TagGroup EMPTY_TAG_GROUP;
     static {
-        Map<String, String> emptyMap = new HashMap<String, String>(0);
+        Map<String, String> emptyMap = new HashMap<>(0);
         EMPTY_TAG_GROUP = new MapBasedTagGroup(emptyMap);
     }
@@ -204,5 +204,5 @@
     }
 
-    private final Set<DataSourceObserver> observers = new HashSet<DataSourceObserver>();
+    private final Set<DataSourceObserver> observers = new HashSet<>();
 
     public void addObserver(DataSourceObserver observer) {
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/dialogs/AccessParameterDialog.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/dialogs/AccessParameterDialog.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/dialogs/AccessParameterDialog.java	(revision 30737)
@@ -50,5 +50,5 @@
 
     static {
-        FLOAT_PROPERTIES = new LinkedHashMap<VehiclePropertyType<Float>, String>();
+        FLOAT_PROPERTIES = new LinkedHashMap<>();
         FLOAT_PROPERTIES.put(VehiclePropertyTypes.HEIGHT, tr("height (m)"));
         FLOAT_PROPERTIES.put(VehiclePropertyTypes.WIDTH, tr("width (m)"));
@@ -132,5 +132,5 @@
 
         private final Map<AccessType, JCheckBox> accessTypeCheckBoxes =
-            new EnumMap<AccessType, JCheckBox>(AccessType.class);
+            new EnumMap<>(AccessType.class);
 
         public AccessTypesPanel(PreferenceAccessParameters initialParameters) {
@@ -152,5 +152,5 @@
         public Collection<AccessType> getUsableAccessTypes() {
 
-            Collection<AccessType> usableAccessTypes = new LinkedList<AccessType>();
+            Collection<AccessType> usableAccessTypes = new LinkedList<>();
 
             for (AccessType accessType : AccessType.values()) {
@@ -169,5 +169,5 @@
 
         private final Map<VehiclePropertyType<Float>, JTextField> floatPropertyTextFields =
-            new HashMap<VehiclePropertyType<Float>, JTextField>();
+            new HashMap<>();
 
         public VehiclePropertiesPanel(PreferenceAccessParameters initialParameters) {
@@ -200,5 +200,5 @@
 
             Map<VehiclePropertyType<?>, String> vehiclePropertyStrings =
-                new HashMap<VehiclePropertyType<?>, String>();
+                new HashMap<>();
 
             for (VehiclePropertyType<Float> vehicleProperty : floatPropertyTextFields.keySet()) {
@@ -310,5 +310,5 @@
 
             Map<VehiclePropertyType<?>, String> vehiclePropertyStrings =
-                new HashMap<VehiclePropertyType<?>, String>();
+                new HashMap<>();
 
             String incUpString = inclineUpTextField.getText();
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/dialogs/GraphViewDialog.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/dialogs/GraphViewDialog.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/dialogs/GraphViewDialog.java	(revision 30737)
@@ -73,5 +73,5 @@
         this.plugin = plugin;
 
-        availableColorSchemes = new LinkedHashMap<String, ColorScheme>();
+        availableColorSchemes = new LinkedHashMap<>();
 
         availableColorSchemes.put(tr("default"),
@@ -238,5 +238,5 @@
         } else {
 
-            rulesetFiles = new LinkedList<File>();
+            rulesetFiles = new LinkedList<>();
 
             File[] filesInRulesetFolder = preferences.getRulesetFolder().listFiles();
@@ -273,5 +273,5 @@
 
         String activeBookmarkName = preferences.getCurrentParameterBookmarkName();
-        Set<String> bookmarkNames = new HashSet<String>(preferences.getParameterBookmarks().keySet());
+        Set<String> bookmarkNames = new HashSet<>(preferences.getParameterBookmarks().keySet());
 
         bookmarkComboBox.removeAllItems();
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/dialogs/GraphViewPreferenceEditor.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/dialogs/GraphViewPreferenceEditor.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/dialogs/GraphViewPreferenceEditor.java	(revision 30737)
@@ -101,5 +101,5 @@
 
         parameterBookmarks =
-            new HashMap<String, PreferenceAccessParameters>(preferences.getParameterBookmarks());
+            new HashMap<>(preferences.getParameterBookmarks());
 
     }
@@ -349,5 +349,5 @@
                     parameterBookmarks.get(selectedBookmarkName);
 
-                Collection<String> otherBookmarkNames = new LinkedList<String>();
+                Collection<String> otherBookmarkNames = new LinkedList<>();
                 for (String bookmarkName : parameterBookmarks.keySet()) {
                     if (!bookmarkName.equals(selectedBookmarkName)) {
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/preferences/GraphViewPreferenceDefaults.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/preferences/GraphViewPreferenceDefaults.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/preferences/GraphViewPreferenceDefaults.java	(revision 30737)
@@ -32,5 +32,5 @@
 
         Map<VehiclePropertyType<?>, String> propertyStringMap =
-            new HashMap<VehiclePropertyType<?>, String>();
+            new HashMap<>();
 
         try {
@@ -48,5 +48,5 @@
 
             Map<String, PreferenceAccessParameters> result =
-                new HashMap<String, PreferenceAccessParameters>();
+                new HashMap<>();
 
             Collection<AccessType> accessTypes =
@@ -56,5 +56,5 @@
             {
                 Map<VehiclePropertyType<?>, String> propertyMap =
-                    new HashMap<VehiclePropertyType<?>, String>();
+                    new HashMap<>();
 
                 PreferenceAccessParameters accessParameters =
@@ -67,5 +67,5 @@
             {
                 Map<VehiclePropertyType<?>, String> propertyMap =
-                    new HashMap<VehiclePropertyType<?>, String>();
+                    new HashMap<>();
                 propertyMap.put(VehiclePropertyTypes.WEIGHT, "3.5");
 
@@ -79,5 +79,5 @@
             {
                 Map<VehiclePropertyType<?>, String> propertyMap =
-                    new HashMap<VehiclePropertyType<?>, String>();
+                    new HashMap<>();
 
                 PreferenceAccessParameters accessParameters =
@@ -90,5 +90,5 @@
             {
                 Map<VehiclePropertyType<?>, String> propertyMap =
-                    new HashMap<VehiclePropertyType<?>, String>();
+                    new HashMap<>();
 
                 PreferenceAccessParameters accessParameters =
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/preferences/GraphViewPreferences.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/preferences/GraphViewPreferences.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/preferences/GraphViewPreferences.java	(revision 30737)
@@ -146,5 +146,5 @@
 
         this.parameterBookmarks =
-            new HashMap<String, PreferenceAccessParameters>(parameterBookmarks);
+            new HashMap<>(parameterBookmarks);
     }
 
@@ -325,5 +325,5 @@
 
     private static final Map<VehiclePropertyType<?>, String> VEHICLE_PROPERTY_TYPE_NAME_MAP =
-        new HashMap<VehiclePropertyType<?>, String>();
+        new HashMap<>();
 
 
@@ -412,5 +412,5 @@
 
         Map<String, PreferenceAccessParameters> resultMap =
-            new HashMap<String, PreferenceAccessParameters>();
+            new HashMap<>();
 
         String[] bookmarkStrings = string.split("\\|");
@@ -435,5 +435,5 @@
 
             String[] accessTypeStrings = matcher.group(3).split(",");
-            Collection<AccessType> accessTypes = new LinkedList<AccessType>();
+            Collection<AccessType> accessTypes = new LinkedList<>();
             for (String accessTypeString : accessTypeStrings) {
                 AccessType accessType = AccessType.valueOf(accessTypeString);
@@ -446,5 +446,5 @@
             String[] vehiclePropertyStrings = matcher.group(4).split(",");
             Map<VehiclePropertyType<?>, String> vehiclePropertyMap =
-                new HashMap<VehiclePropertyType<?>, String>();
+                new HashMap<>();
 
             for (String vehiclePropertyString : vehiclePropertyStrings) {
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/preferences/PreferenceAccessParameters.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/preferences/PreferenceAccessParameters.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/preferences/PreferenceAccessParameters.java	(revision 30737)
@@ -79,5 +79,5 @@
         this.accessClass = accessClass;
 
-        accessTypeUsableMap = new EnumMap<AccessType, Boolean>(AccessType.class);
+        accessTypeUsableMap = new EnumMap<>(AccessType.class);
         for (AccessType accessType : AccessType.values()) {
             accessTypeUsableMap.put(accessType, usableAccessTypes.contains(accessType));
@@ -87,7 +87,7 @@
 
         this.vehiclePropertyStrings = Collections.unmodifiableMap(
-                new HashMap<VehiclePropertyType<?>, String>(vehiclePropertyStrings));
+                new HashMap<>(vehiclePropertyStrings));
 
-        this.vehiclePropertyValues = new HashMap<VehiclePropertyType<?>, Object>();
+        this.vehiclePropertyValues = new HashMap<>();
         for (VehiclePropertyType<?> vehiclePropertyType : vehiclePropertyStrings.keySet()) {
             String propertyValueString = vehiclePropertyStrings.get(vehiclePropertyType);
Index: applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/preferences/VehiclePropertyStringParser.java
===================================================================
--- applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/preferences/VehiclePropertyStringParser.java	(revision 30550)
+++ applications/editors/josm/plugins/graphview/src/org/openstreetmap/josm/plugins/graphview/plugin/preferences/VehiclePropertyStringParser.java	(revision 30737)
@@ -132,5 +132,5 @@
 
             String[] surfaces = propertyValueString.split(";\\s*");
-            Collection<String> surfaceBlacklist = new ArrayList<String>(surfaces.length);
+            Collection<String> surfaceBlacklist = new ArrayList<>(surfaces.length);
             for (String surface : surfaces) {
                 for (char nameChar : surface.toCharArray()) {
