changeset 7834:92de05e3de00

Doc updates from review of issue 8010096.
author psandoz
date Mon, 08 Apr 2013 14:58:43 +0200
parents 2eafb34235ba
children c4427118332f
files src/share/classes/java/lang/Iterable.java src/share/classes/java/util/Arrays.java src/share/classes/java/util/Iterator.java src/share/classes/java/util/PrimitiveIterator.java src/share/classes/java/util/Spliterator.java src/share/classes/java/util/Tripwire.java src/share/classes/java/util/stream/Tripwire.java test-ng/build.xml test/java/util/Spliterator/SpliteratorLateBindingFailFastTest.java test/java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java
diffstat 10 files changed, 97 insertions(+), 70 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/java/lang/Iterable.java	Mon Apr 08 14:58:35 2013 +0200
+++ b/src/share/classes/java/lang/Iterable.java	Mon Apr 08 14:58:43 2013 +0200
@@ -43,7 +43,7 @@
 @FunctionalInterface
 public interface Iterable<T> {
     /**
-     * Returns an iterator over elements of type {@code <T>}.
+     * Returns an iterator over elements of type {@code T}.
      *
      * @return an Iterator.
      */
@@ -52,8 +52,8 @@
     /**
      * Performs the given action on the contents of the {@code Iterable}, in the
      * order elements occur when iterating, until all elements have been
-     * processed or the action throws an exception.  Exceptions thrown
-     * by the action are relayed to the caller.
+     * processed or the action throws an exception.  Errors or runtime
+     * exceptions thrown by the action are relayed to the caller.
      *
      * @implSpec
      * <p>The default implementation behaves as if:
--- a/src/share/classes/java/util/Arrays.java	Mon Apr 08 14:58:35 2013 +0200
+++ b/src/share/classes/java/util/Arrays.java	Mon Apr 08 14:58:43 2013 +0200
@@ -4586,7 +4586,7 @@
      *
      * @param <T> Type of elements
      * @param array The array, assumed to be unmodified during use
-     * @return A spliterator from an array
+     * @return A spliterator from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @since 1.8
      */
@@ -4607,7 +4607,7 @@
      * @param array The array, assumed to be unmodified during use
      * @param fromIndex The least index (inclusive) to cover
      * @param toIndex One past the greatest index to cover
-     * @return A spliterator from an array
+     * @return A spliterator from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
      *         {@code toIndex} is less than {@code fromIndex}, or
@@ -4627,7 +4627,7 @@
      * {@link Spliterator#IMMUTABLE}.
      *
      * @param array The array, assumed to be unmodified during use
-     * @return A spliterator from an array
+     * @return A spliterator from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @since 1.8
      */
@@ -4647,7 +4647,7 @@
      * @param array The array, assumed to be unmodified during use
      * @param fromIndex The least index (inclusive) to cover
      * @param toIndex One past the greatest index to cover
-     * @return A spliterator from an array
+     * @return A spliterator from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
      *         {@code toIndex} is less than {@code fromIndex}, or
@@ -4667,7 +4667,7 @@
      * {@link Spliterator#IMMUTABLE}.
      *
      * @param array The array, assumed to be unmodified during use
-     * @return A spliterator from an array
+     * @return A spliterator from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @since 1.8
      */
@@ -4687,7 +4687,7 @@
      * @param array The array, assumed to be unmodified during use
      * @param fromIndex The least index (inclusive) to cover
      * @param toIndex One past the greatest index to cover
-     * @return A spliterator from an array
+     * @return A spliterator from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
      *         {@code toIndex} is less than {@code fromIndex}, or
@@ -4708,7 +4708,7 @@
      * {@link Spliterator#IMMUTABLE}.
      *
      * @param array The array, assumed to be unmodified during use
-     * @return A spliterator from an array
+     * @return A spliterator from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @since 1.8
      */
@@ -4728,7 +4728,7 @@
      * @param array The array, assumed to be unmodified during use
      * @param fromIndex The least index (inclusive) to cover
      * @param toIndex One past the greatest index to cover
-     * @return A spliterator from an array
+     * @return A spliterator from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
      *         {@code toIndex} is less than {@code fromIndex}, or
@@ -4746,7 +4746,7 @@
      *
      * @param <T> The type of the array elements
      * @param array The array, assumed to be unmodified during use
-     * @return A {@code Stream} from an array
+     * @return A {@code Stream} from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @since 1.8
      */
@@ -4763,7 +4763,7 @@
      * @param fromIndex The index of the first element (inclusive) to be
      *        encountered
      * @param toIndex One past the index of the last element to be encountered
-     * @return A {@code Stream} from an array
+     * @return A {@code Stream} from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
      *         {@code toIndex} is less than {@code fromIndex}, or
@@ -4779,7 +4779,7 @@
      * source.
      *
      * @param array The array, assumed to be unmodified during use
-     * @return An {@code IntStream} from an array
+     * @return An {@code IntStream} from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @since 1.8
      */
@@ -4795,7 +4795,7 @@
      * @param fromIndex The index of the first element (inclusive) to be
      *        encountered
      * @param toIndex One past the index of the last element to be encountered
-     * @return An {@code IntStream} from an array
+     * @return An {@code IntStream} from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
      *         {@code toIndex} is less than {@code fromIndex}, or
@@ -4811,7 +4811,7 @@
      * source.
      *
      * @param array The array, assumed to be unmodified during use
-     * @return A {@code LongStream} from an array
+     * @return A {@code LongStream} from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @since 1.8
      */
@@ -4827,7 +4827,7 @@
      * @param fromIndex The index of the first element (inclusive) to be
      *        encountered
      * @param toIndex One past the index of the last element to be encountered
-     * @return A {@code LongStream} from an array
+     * @return A {@code LongStream} from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
      *         {@code toIndex} is less than {@code fromIndex}, or
@@ -4843,7 +4843,7 @@
      * source.
      *
      * @param array The array, assumed to be unmodified during use
-     * @return A {@code DoubleStream} from an array
+     * @return A {@code DoubleStream} from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @since 1.8
      */
@@ -4859,7 +4859,7 @@
      * @param fromIndex The index of the first element (inclusive) to be
      *        encountered
      * @param toIndex One past the index of the last element to be encountered
-     * @return A {@code DoubleStream} from an array
+     * @return A {@code DoubleStream} from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
      *         {@code toIndex} is less than {@code fromIndex}, or
@@ -4876,7 +4876,7 @@
      *
      * @param <T> The type of the array elements
      * @param array The array, assumed to be unmodified during use
-     * @return A {@code Stream} from an array
+     * @return A {@code Stream} from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @since 1.8
      */
@@ -4893,7 +4893,7 @@
      * @param fromIndex The index of the first element (inclusive) to be
      *        encountered
      * @param toIndex One past the index of the last element to be encountered
-     * @return A {@code Stream} from an array
+     * @return A {@code Stream} from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
      *         {@code toIndex} is less than {@code fromIndex}, or
@@ -4909,7 +4909,7 @@
      * source.
      *
      * @param array The array, assumed to be unmodified during use
-     * @return An {@code IntStream} from an array
+     * @return An {@code IntStream} from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @since 1.8
      */
@@ -4925,7 +4925,7 @@
      * @param fromIndex The index of the first element (inclusive) to be
      *        encountered
      * @param toIndex One past the index of the last element to be encountered
-     * @return An {@code IntStream} from an array
+     * @return An {@code IntStream} from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
      *         {@code toIndex} is less than {@code fromIndex}, or
@@ -4941,7 +4941,7 @@
      * source.
      *
      * @param array The array, assumed to be unmodified during use
-     * @return A {@code LongStream} from an array
+     * @return A {@code LongStream} from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @since 1.8
      */
@@ -4957,7 +4957,7 @@
      * @param fromIndex The index of the first element (inclusive) to be
      *        encountered
      * @param toIndex One past the index of the last element to be encountered
-     * @return A {@code LongStream} from an array
+     * @return A {@code LongStream} from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
      *         {@code toIndex} is less than {@code fromIndex}, or
@@ -4973,7 +4973,7 @@
      * source.
      *
      * @param array The array, assumed to be unmodified during use
-     * @return A {@code DoubleStream} from an array
+     * @return A {@code DoubleStream} from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @since 1.8
      */
@@ -4989,7 +4989,7 @@
      * @param fromIndex The index of the first element (inclusive) to be
      *        encountered
      * @param toIndex One past the index of the last element to be encountered
-     * @return A {@code DoubleStream} from an array
+     * @return A {@code DoubleStream} from the array
      * @throws NullPointerException if the specified array is {@code null}
      * @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
      *         {@code toIndex} is less than {@code fromIndex}, or
--- a/src/share/classes/java/util/Iterator.java	Mon Apr 08 14:58:35 2013 +0200
+++ b/src/share/classes/java/util/Iterator.java	Mon Apr 08 14:58:43 2013 +0200
@@ -88,7 +88,6 @@
      *         yet been called, or the {@code remove} method has already
      *         been called after the last call to the {@code next}
      *         method
-     * @since 1.8
      */
     default void remove() {
         throw new UnsupportedOperationException("remove");
@@ -97,8 +96,8 @@
     /**
      * Performs the given action for each remaining element, in the order
      * elements occur when iterating, until all elements have been processed or
-     * the action throws an exception.  Exceptions thrown by the action
-     * are relayed to the caller.
+     * the action throws an exception.  Errors or runtime exceptions thrown by
+     * the action are relayed to the caller.
      *
      * @implSpec
      * <p>The default implementation behaves as if:
--- a/src/share/classes/java/util/PrimitiveIterator.java	Mon Apr 08 14:58:35 2013 +0200
+++ b/src/share/classes/java/util/PrimitiveIterator.java	Mon Apr 08 14:58:43 2013 +0200
@@ -44,6 +44,11 @@
  * should be used in preference to {@link PrimitiveIterator.OfInt#next()} and
  * {@link PrimitiveIterator.OfInt#forEachRemaining(java.util.function.Consumer)}.
  *
+ * <p>Iteration of primitive values using {@link Iterator#next next()} and
+ * {@link Iterator#forEachRemaining(java.util.function.Consumer) forEachRemaining()},
+ * does not affect the order in which the values, transformed to boxed values,
+ * are encountered.
+ *
  * @implNote
  * If boxing occurs when operating on instances of primitive subtype
  * specializations a warning may be output if the boolean system property
@@ -55,7 +60,7 @@
 public interface PrimitiveIterator<T> extends Iterator<T> {
 
     /**
-     * Specialization for {@code int} values.
+     * An Iterator specialized for {@code int} values.
      * @since 1.8
      */
     public static interface OfInt extends PrimitiveIterator<Integer> {
@@ -71,8 +76,8 @@
         /**
          * Performs the given action for each remaining element, in the order
          * elements occur when iterating, until all elements have been processed
-         * or the action throws an exception.  Exceptions thrown by the
-         * action are relayed to the caller.
+         * or the action throws an exception.  Errors or runtime exceptions
+         * thrown by the action are relayed to the caller.
          *
          * @implSpec
          * <p>The default implementation behaves as if:
@@ -126,7 +131,7 @@
     }
 
     /**
-     * Specialization for {@code long} values.
+     * An Iterator specialized for {@code long} values.
      * @since 1.8
      */
     public static interface OfLong extends PrimitiveIterator<Long> {
@@ -142,8 +147,8 @@
         /**
          * Performs the given action for each remaining element, in the order
          * elements occur when iterating, until all elements have been processed
-         * or the action throws an exception.  Exceptions thrown by the
-         * action are relayed to the caller.
+         * or the action throws an exception.  Errors or runtime exceptions
+         * thrown by the action are relayed to the caller.
          *
          * @implSpec
          * <p>The default implementation behaves as if:
@@ -196,7 +201,7 @@
     }
 
     /**
-     * Specialization for {@code double} values.
+     * An Iterator specialized for {@code double} values.
      * @since 1.8
      */
     public static interface OfDouble extends PrimitiveIterator<Double> {
@@ -212,8 +217,8 @@
         /**
          * Performs the given action for each remaining element, in the order
          * elements occur when iterating, until all elements have been processed
-         * or the action throws an exception.  Exceptions thrown by the
-         * action are relayed to the caller.
+         * or the action throws an exception.  Errors or runtime exceptions
+         * thrown by the action are relayed to the caller.
          *
          * @implSpec
          * <p>The default implementation behaves as if:
--- a/src/share/classes/java/util/Spliterator.java	Mon Apr 08 14:58:35 2013 +0200
+++ b/src/share/classes/java/util/Spliterator.java	Mon Apr 08 14:58:43 2013 +0200
@@ -35,7 +35,7 @@
  * {@link Collection}, an IO channel, or a generator function.
  *
  * <p>A Spliterator may traverse elements individually ({@link
- * #tryAdvance} tryAdvance()) or sequentially in bulk
+ * #tryAdvance tryAdvance()}) or sequentially in bulk
  * ({@link #forEachRemaining forEachRemaining()}).
  *
  * <p>A Spliterator may partition off some of its elements (using
@@ -105,6 +105,10 @@
  * should be used in preference to
  * {@link Spliterator.OfInt#tryAdvance(java.util.function.Consumer)} and
  * {@link Spliterator.OfInt#forEachRemaining(java.util.function.Consumer)}.
+ * Traversal of primitive values using {@link #tryAdvance tryAdvance()} and
+ * {@link #forEachRemaining(java.util.function.Consumer)} forEachRemaining()},
+ * does not affect the order in which the values, transformed to boxed values,
+ * are encountered.
  *
  * @apiNote
  * <p>Spliterators are for traversing the elements of a source.  For
@@ -449,6 +453,11 @@
      * elements are {@link Comparable} and use {@code compareTo} for
      * natural ordering.
      *
+     * <p>A Spliterator that reports {@code SORTED} should also report
+     * {@code ORDERED}.  Otherwise, such a Spliterator is inconsistent
+     * and no guarantees can be made about any computation using that
+     * Spliterator.
+     *
      * @apiNote
      * A Spliterator based on a {@link NavigableSet} or {@link SortedSet}
      * reports {@code SORTED}.
@@ -495,9 +504,13 @@
      * documented policy concerning the impact of modifications during
      * traversal.
      *
-     * <p>The Spliterator must not report {@code SIZED}, since the finite size,
-     * if known, may change if the source is concurrently modified during
-     * traversal.
+     * <p>A top-level Spliterator should not report {@code CONCURRENT} and
+     * {@code SIZED}, since the finite size, if known, may change if the
+     * source is concurrently modified during traversal.  Such a Spliterator
+     * is inconsistent and no guarantees can be made about any computation
+     * using that Spliterator.  Sub-spliterators may report {@code SIZED} if
+     * the sub-split size is known and additions or removals to the source
+     * are not reflected when traversing.
      *
      * @apiNote
      * Most concurrent collections maintain a consistency policy guaranteeing
@@ -512,6 +525,10 @@
      * resulting from {@code trySplit()}, as well as any that they in
      * turn split, are {@link #SIZED}.
      *
+     * <p>A Spliterator that does not report {@code SIZED} as required by
+     * {@code SUBSIZED} is inconsistent and no guarantees can be made about any
+     * computation using that Spliterator.
+     *
      * @apiNote
      * This characteristic is not reported when an initial Spliterator's
      * {@code estimateSize()} reports an exact size, but sub-spliterators
@@ -520,7 +537,7 @@
     public static final int SUBSIZED = 0x00004000;
 
     /**
-     * Specialization for {@code int} elements.
+     * A Spliterator specialized for {@code int} values.
      * @since 1.8
      */
     public interface OfInt extends Spliterator<Integer> {
@@ -607,7 +624,7 @@
     }
 
     /**
-     * Specialization for {@code long} elements.
+     * A Spliterator specialized for {@code long} values.
      * @since 1.8
      */
     public interface OfLong extends Spliterator<Long> {
@@ -694,7 +711,7 @@
     }
 
     /**
-     * Specialization for {@code double} elements.
+     * A Spliterator specialized for {@code double} values.
      * @since 1.8
      */
     public interface OfDouble extends Spliterator<Double> {
--- a/src/share/classes/java/util/Tripwire.java	Mon Apr 08 14:58:35 2013 +0200
+++ b/src/share/classes/java/util/Tripwire.java	Mon Apr 08 14:58:43 2013 +0200
@@ -24,8 +24,10 @@
  */
 package java.util;
 
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import sun.util.logging.PlatformLogger;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 
 /**
  * Utility class for detecting inadvertent uses of boxing in
@@ -47,20 +49,21 @@
     private static final String TRIPWIRE_PROPERTY = "org.openjdk.java.util.stream.tripwire";
 
     /** Should debugging checks be enabled? */
-    static final boolean ENABLED = true;
-//            = Boolean.getBoolean(TRIPWIRE_PROPERTY);
+    static final boolean ENABLED = AccessController.doPrivileged(
+            (PrivilegedAction<Boolean>) () -> Boolean.getBoolean(TRIPWIRE_PROPERTY));
 
     private Tripwire() { }
 
     /**
-     * Produces a log warning, using {@code Logger.getLogger(className)}, using
-     * the supplied message.  The class name of {@code trippingClass} will be
-     * used as the first parameter to the message.
+     * Produces a log warning, using {@code PlatformLogger.getLogger(className)},
+     * using the supplied message.  The class name of {@code trippingClass} will
+     * be used as the first parameter to the message.
      *
      * @param trippingClass Name of the class generating the message
-     * @param msg A message format string of the type expected by {@link Logger}
+     * @param msg A message format string of the type expected by
+     * {@link PlatformLogger}
      */
     static void trip(Class<?> trippingClass, String msg) {
-        Logger.getLogger(trippingClass.getName()).log(Level.WARNING, msg, trippingClass.getName());
+        PlatformLogger.getLogger(trippingClass.getName()).warning(msg, trippingClass.getName());
     }
 }
--- a/src/share/classes/java/util/stream/Tripwire.java	Mon Apr 08 14:58:35 2013 +0200
+++ b/src/share/classes/java/util/stream/Tripwire.java	Mon Apr 08 14:58:43 2013 +0200
@@ -24,8 +24,10 @@
  */
 package java.util.stream;
 
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import sun.util.logging.PlatformLogger;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 
 /**
  * Utility class for detecting inadvertent uses of boxing in
@@ -47,20 +49,21 @@
     private static final String TRIPWIRE_PROPERTY = "org.openjdk.java.util.stream.tripwire";
 
     /** Should debugging checks be enabled? */
-    static final boolean ENABLED = true;
-//            = Boolean.getBoolean(TRIPWIRE_PROPERTY);
+    static final boolean ENABLED = AccessController.doPrivileged(
+            (PrivilegedAction<Boolean>) () -> Boolean.getBoolean(TRIPWIRE_PROPERTY));
 
     private Tripwire() { }
 
     /**
-     * Produces a log warning, using {@code Logger.getLogger(className)}, using
-     * the supplied message.  The class name of {@code trippingClass} will be
-     * used as the first parameter to the message.
+     * Produces a log warning, using {@code PlatformLogger.getLogger(className)},
+     * using the supplied message.  The class name of {@code trippingClass} will
+     * be used as the first parameter to the message.
      *
      * @param trippingClass Name of the class generating the message
-     * @param msg A message format string of the type expected by {@link Logger}
+     * @param msg A message format string of the type expected by
+     * {@link PlatformLogger}
      */
     static void trip(Class<?> trippingClass, String msg) {
-        Logger.getLogger(trippingClass.getName()).log(Level.WARNING, msg, trippingClass.getName());
+        PlatformLogger.getLogger(trippingClass.getName()).warning(msg, trippingClass.getName());
     }
 }
--- a/test-ng/build.xml	Mon Apr 08 14:58:35 2013 +0200
+++ b/test-ng/build.xml	Mon Apr 08 14:58:43 2013 +0200
@@ -114,6 +114,7 @@
             <jvmarg value="-esa"/>
             <jvmarg value="-Xverify:all"/>
             <jvmarg value="-Xmx2g"/>
+            <sysproperty key="org.openjdk.java.util.stream.tripwire" value="true"/>
         </testng>
     </target>
 
@@ -130,6 +131,7 @@
             <jvmarg value="-esa" />
             <jvmarg value="-Xverify:all" />
             <jvmarg value="-Xmx2500m" />
+            <sysproperty key="org.openjdk.java.util.stream.tripwire" value="true"/>
         </testng>
     </target>
 
@@ -231,6 +233,7 @@
             <jvmarg value="-esa" />
             <jvmarg value="-Xverify:none" />
             <jvmarg value="-Xmx4g" />
+            <sysproperty key="org.openjdk.java.util.stream.tripwire" value="true"/>
             <!-- properties specific to agent config -->
             <jvmarg value="-Dcom.oracle.lambda.store.frames=false"/>
             <jvmarg value="-Dcom.oracle.lambda.nrounds=1"/>
@@ -253,6 +256,7 @@
             <jvmarg value="-esa" />
             <jvmarg value="-Xverify:none" />
             <jvmarg value="-Xmx2500m" />
+            <sysproperty key="org.openjdk.java.util.stream.tripwire" value="true"/>
             <jvmarg value="-javaagent:${agent.jar}"/>
         </testng>
     </target>
--- a/test/java/util/Spliterator/SpliteratorLateBindingFailFastTest.java	Mon Apr 08 14:58:35 2013 +0200
+++ b/test/java/util/Spliterator/SpliteratorLateBindingFailFastTest.java	Mon Apr 08 14:58:43 2013 +0200
@@ -4,9 +4,7 @@
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * published by the Free Software Foundation.
  *
  * This code is distributed in the hope that it will be useful, but WITHOUT
  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
--- a/test/java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java	Mon Apr 08 14:58:35 2013 +0200
+++ b/test/java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java	Mon Apr 08 14:58:43 2013 +0200
@@ -4,9 +4,7 @@
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
+ * published by the Free Software Foundation.
  *
  * This code is distributed in the hope that it will be useful, but WITHOUT
  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or