Index: src/test/java/tests/api/java/util/TreeMapTest.java =================================================================== --- src/test/java/tests/api/java/util/TreeMapTest.java (revision 489636) +++ src/test/java/tests/api/java/util/TreeMapTest.java (working copy) @@ -322,8 +322,11 @@ }; TreeMap treemap = new TreeMap(c); - treemap.put("key", "value"); //$NON-NLS-1$ //$NON-NLS-2$ assertEquals(0, treemap.headMap(null).size()); + + treemap = new TreeMap(); + SortedMap headMap = treemap.headMap("100"); + headMap.headMap("100"); } /** Index: src/main/java/java/util/TreeMap.java =================================================================== --- src/main/java/java/util/TreeMap.java (revision 489636) +++ src/main/java/java/util/TreeMap.java (working copy) @@ -335,7 +335,7 @@ if (hasStart && object.compareTo(startKey) < 0) { throw new IllegalArgumentException(); } - if (hasEnd && object.compareTo(endKey) >= 0) { + if (hasEnd && object.compareTo(endKey) > 0) { throw new IllegalArgumentException(); } } else { @@ -343,7 +343,7 @@ && backingMap.comparator().compare(key, startKey) < 0) { throw new IllegalArgumentException(); } - if (hasEnd && backingMap.comparator().compare(key, endKey) >= 0) { + if (hasEnd && backingMap.comparator().compare(key, endKey) > 0) { throw new IllegalArgumentException(); } }