537 * concurrently modified (allowing additions, replacements, and/or removals) |
537 * concurrently modified (allowing additions, replacements, and/or removals) |
538 * by multiple threads without external synchronization. If so, the |
538 * by multiple threads without external synchronization. If so, the |
539 * Spliterator is expected to have a documented policy concerning the impact |
539 * Spliterator is expected to have a documented policy concerning the impact |
540 * of modifications during traversal. |
540 * of modifications during traversal. |
541 * |
541 * |
542 * <p>A top-level Spliterator should not report {@code CONCURRENT} and |
542 * <p>A top-level Spliterator should not report both {@code CONCURRENT} and |
543 * {@code SIZED}, since the finite size, if known, may change if the source |
543 * {@code SIZED}, since the finite size, if known, may change if the source |
544 * is concurrently modified during traversal. Such a Spliterator is |
544 * is concurrently modified during traversal. Such a Spliterator is |
545 * inconsistent and no guarantees can be made about any computation using |
545 * inconsistent and no guarantees can be made about any computation using |
546 * that Spliterator. Sub-spliterators may report {@code SIZED} if the |
546 * that Spliterator. Sub-spliterators may report {@code SIZED} if the |
547 * sub-split size is known and additions or removals to the source are not |
547 * sub-split size is known and additions or removals to the source are not |