Merge "Fix openJdk package-level javadocs"
diff --git a/ojluni/src/main/java/java/lang/annotation/package-info.java b/ojluni/src/main/java/java/lang/annotation/package-info.java
new file mode 100644
index 0000000..b2b7ec6
--- /dev/null
+++ b/ojluni/src/main/java/java/lang/annotation/package-info.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * Provides library support for the Java programming language
+ * annotation facility.
+ *
+ * @author Josh Bloch
+ * @since 1.5
+ */
+package java.lang.annotation;
diff --git a/ojluni/src/main/java/java/lang/package-info.java b/ojluni/src/main/java/java/lang/package-info.java
new file mode 100644
index 0000000..aa7a79d
--- /dev/null
+++ b/ojluni/src/main/java/java/lang/package-info.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * Provides classes that are fundamental to the design of the Java
+ * programming language. The most important classes are {@code
+ * Object}, which is the root of the class hierarchy, and {@code
+ * Class}, instances of which represent classes at run time.
+ *
+ * <p>Frequently it is necessary to represent a value of primitive
+ * type as if it were an object. The wrapper classes {@code Boolean},
+ * {@code Character}, {@code Integer}, {@code Long}, {@code Float},
+ * and {@code Double} serve this purpose.  An object of type {@code
+ * Double}, for example, contains a field whose type is double,
+ * representing that value in such a way that a reference to it can be
+ * stored in a variable of reference type.  These classes also provide
+ * a number of methods for converting among primitive values, as well
+ * as supporting such standard methods as equals and hashCode.  The
+ * {@code Void} class is a non-instantiable class that holds a
+ * reference to a {@code Class} object representing the type void.
+ *
+ * <p>The class {@code Math} provides commonly used mathematical
+ * functions such as sine, cosine, and square root. The classes {@code
+ * String}, {@code StringBuffer}, and {@code StringBuilder} similarly
+ * provide commonly used operations on character strings.
+ *
+ * <p>Classes {@code ClassLoader}, {@code Process}, {@code
+ * ProcessBuilder}, {@code Runtime}, {@code SecurityManager}, and
+ * {@code System} provide "system operations" that manage the dynamic
+ * loading of classes, creation of external processes, host
+ * environment inquiries such as the time of day, and enforcement of
+ * security policies.
+ *
+ * <p>Class {@code Throwable} encompasses objects that may be thrown
+ * by the {@code throw} statement. Subclasses of {@code Throwable}
+ * represent errors and exceptions.
+ *
+ * <a name="charenc"></a>
+ * <h3>Character Encodings</h3>
+ *
+ * The specification of the {@link java.nio.charset.Charset
+ * java.nio.charset.Charset} class describes the naming conventions
+ * for character encodings as well as the set of standard encodings
+ * that must be supported by every implementation of the Java
+ * platform.
+ *
+ * @since JDK1.0
+ */
+package java.lang;
diff --git a/ojluni/src/main/java/java/lang/ref/package-info.java b/ojluni/src/main/java/java/lang/ref/package-info.java
new file mode 100644
index 0000000..cc7f9ef
--- /dev/null
+++ b/ojluni/src/main/java/java/lang/ref/package-info.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/**
+ * Provides reference-object classes, which support a limited degree of
+ * interaction with the garbage collector.  A program may use a reference object
+ * to maintain a reference to some other object in such a way that the latter
+ * object may still be reclaimed by the collector.  A program may also arrange to
+ * be notified some time after the collector has determined that the reachability
+ * of a given object has changed.
+ *
+ *
+ * <h2>Package Specification</h2>
+ *
+ * A <em>reference object</em> encapsulates a reference to some other object so
+ * that the reference itself may be examined and manipulated like any other
+ * object.  Three types of reference objects are provided, each weaker than the
+ * last: <em>soft</em>, <em>weak</em>, and <em>phantom</em>.  Each type
+ * corresponds to a different level of reachability, as defined below.  Soft
+ * references are for implementing memory-sensitive caches, weak references are
+ * for implementing canonicalizing mappings that do not prevent their keys (or
+ * values) from being reclaimed, and phantom references are for scheduling
+ * pre-mortem cleanup actions in a more flexible way than is possible with the
+ * Java finalization mechanism.
+ *
+ * <p> Each reference-object type is implemented by a subclass of the abstract
+ * base <code>{@link java.lang.ref.Reference}</code> class.  An instance of one of
+ * these subclasses encapsulates a single reference to a particular object, called
+ * the <em>referent</em>.  Every reference object provides methods for getting and
+ * clearing the reference.  Aside from the clearing operation reference objects
+ * are otherwise immutable, so no <code>set</code> operation is provided.  A
+ * program may further subclass these subclasses, adding whatever fields and
+ * methods are required for its purposes, or it may use these subclasses without
+ * change.
+ *
+ *
+ * <h3>Notification</h3>
+ *
+ * A program may request to be notified of changes in an object's reachability by
+ * <em>registering</em> an appropriate reference object with a <em>reference
+ * queue</em> at the time the reference object is created.  Some time after the
+ * garbage collector determines that the reachability of the referent has changed
+ * to the value corresponding to the type of the reference, it will add the
+ * reference to the associated queue.  At this point, the reference is considered
+ * to be <em>enqueued</em>.  The program may remove references from a queue either
+ * by polling or by blocking until a reference becomes available.  Reference
+ * queues are implemented by the <code>{@link java.lang.ref.ReferenceQueue}</code>
+ * class.
+ *
+ * <p> The relationship between a registered reference object and its queue is
+ * one-sided.  That is, a queue does not keep track of the references that are
+ * registered with it.  If a registered reference becomes unreachable itself, then
+ * it will never be enqueued.  It is the responsibility of the program using
+ * reference objects to ensure that the objects remain reachable for as long as
+ * the program is interested in their referents.
+ *
+ * <p> While some programs will choose to dedicate a thread to removing reference
+ * objects from one or more queues and processing them, this is by no means
+ * necessary.  A tactic that often works well is to examine a reference queue in
+ * the course of performing some other fairly-frequent action.  For example, a
+ * hashtable that uses weak references to implement weak keys could poll its
+ * reference queue each time the table is accessed.  This is how the <code>{@link
+ * java.util.WeakHashMap}</code> class works.  Because the <code>{@link
+ * java.lang.ref.ReferenceQueue#poll ReferenceQueue.poll}</code> method simply
+ * checks an internal data structure, this check will add little overhead to the
+ * hashtable access methods.
+ *
+ *
+ * <h3>Automatically-cleared references</h3>
+ *
+ * Soft and weak references are automatically cleared by the collector before
+ * being added to the queues with which they are registered, if any.  Therefore
+ * soft and weak references need not be registered with a queue in order to be
+ * useful, while phantom references do.  An object that is reachable via phantom
+ * references will remain so until all such references are cleared or themselves
+ * become unreachable.
+ *
+ *
+ * <a name="reachability"></a>
+ * <h3>Reachability</h3>
+ *
+ * Going from strongest to weakest, the different levels of reachability reflect
+ * the life cycle of an object.  They are operationally defined as follows:
+ *
+ * <ul>
+ *
+ * <li> An object is <em>strongly reachable</em> if it can be reached by some
+ * thread without traversing any reference objects.  A newly-created object is
+ * strongly reachable by the thread that created it.
+ *
+ * <li> An object is <em>softly reachable</em> if it is not strongly reachable but
+ * can be reached by traversing a soft reference.
+ *
+ * <li> An object is <em>weakly reachable</em> if it is neither strongly nor
+ * softly reachable but can be reached by traversing a weak reference.  When the
+ * weak references to a weakly-reachable object are cleared, the object becomes
+ * eligible for finalization.
+ *
+ * <li> An object is <em>phantom reachable</em> if it is neither strongly, softly,
+ * nor weakly reachable, it has been finalized, and some phantom reference refers
+ * to it.
+ *
+ * <li> Finally, an object is <em>unreachable</em>, and therefore eligible for
+ * reclamation, when it is not reachable in any of the above ways.
+ *
+ * </ul>
+ *
+ *
+ * @author	  Mark Reinhold
+ * @since	  1.2
+ */
+package java.lang.ref;
diff --git a/ojluni/src/main/java/java/lang/ref/package.html b/ojluni/src/main/java/java/lang/ref/package.html
deleted file mode 100755
index f22a455..0000000
--- a/ojluni/src/main/java/java/lang/ref/package.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<!--
- Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
- DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-
- 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.
-
- This code is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- version 2 for more details (a copy is included in the LICENSE file that
- accompanied this code).
-
- You should have received a copy of the GNU General Public License version
- 2 along with this work; if not, write to the Free Software Foundation,
- Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
- Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- or visit www.oracle.com if you need additional information or have any
- questions.
--->
-
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<body bgcolor="white">
-
-
-Provides reference-object classes, which support a limited degree of
-interaction with the garbage collector.  A program may use a reference object
-to maintain a reference to some other object in such a way that the latter
-object may still be reclaimed by the collector.  A program may also arrange to
-be notified some time after the collector has determined that the reachability
-of a given object has changed.
-
-
-<h2>Package Specification</h2>
-
-A <em>reference object</em> encapsulates a reference to some other object so
-that the reference itself may be examined and manipulated like any other
-object.  Three types of reference objects are provided, each weaker than the
-last: <em>soft</em>, <em>weak</em>, and <em>phantom</em>.  Each type
-corresponds to a different level of reachability, as defined below.  Soft
-references are for implementing memory-sensitive caches, weak references are
-for implementing canonicalizing mappings that do not prevent their keys (or
-values) from being reclaimed, and phantom references are for scheduling
-pre-mortem cleanup actions in a more flexible way than is possible with the
-Java finalization mechanism.
-
-<p> Each reference-object type is implemented by a subclass of the abstract
-base <code>{@link java.lang.ref.Reference}</code> class.  An instance of one of
-these subclasses encapsulates a single reference to a particular object, called
-the <em>referent</em>.  Every reference object provides methods for getting and
-clearing the reference.  Aside from the clearing operation reference objects
-are otherwise immutable, so no <code>set</code> operation is provided.  A
-program may further subclass these subclasses, adding whatever fields and
-methods are required for its purposes, or it may use these subclasses without
-change.
-
-
-<h3>Notification</h3>
-
-A program may request to be notified of changes in an object's reachability by
-<em>registering</em> an appropriate reference object with a <em>reference
-queue</em> at the time the reference object is created.  Some time after the
-garbage collector determines that the reachability of the referent has changed
-to the value corresponding to the type of the reference, it will add the
-reference to the associated queue.  At this point, the reference is considered
-to be <em>enqueued</em>.  The program may remove references from a queue either
-by polling or by blocking until a reference becomes available.  Reference
-queues are implemented by the <code>{@link java.lang.ref.ReferenceQueue}</code>
-class.
-
-<p> The relationship between a registered reference object and its queue is
-one-sided.  That is, a queue does not keep track of the references that are
-registered with it.  If a registered reference becomes unreachable itself, then
-it will never be enqueued.  It is the responsibility of the program using
-reference objects to ensure that the objects remain reachable for as long as
-the program is interested in their referents.
-
-<p> While some programs will choose to dedicate a thread to removing reference
-objects from one or more queues and processing them, this is by no means
-necessary.  A tactic that often works well is to examine a reference queue in
-the course of performing some other fairly-frequent action.  For example, a
-hashtable that uses weak references to implement weak keys could poll its
-reference queue each time the table is accessed.  This is how the <code>{@link
-java.util.WeakHashMap}</code> class works.  Because the <code>{@link
-java.lang.ref.ReferenceQueue#poll ReferenceQueue.poll}</code> method simply
-checks an internal data structure, this check will add little overhead to the
-hashtable access methods.
-
-
-<h3>Automatically-cleared references</h3>
-
-Soft and weak references are automatically cleared by the collector before
-being added to the queues with which they are registered, if any.  Therefore
-soft and weak references need not be registered with a queue in order to be
-useful, while phantom references do.  An object that is reachable via phantom
-references will remain so until all such references are cleared or themselves
-become unreachable.
-
-
-<a name="reachability"></a>
-<h3>Reachability</h3>
-
-Going from strongest to weakest, the different levels of reachability reflect
-the life cycle of an object.  They are operationally defined as follows:
-
-<ul>
-
-<li> An object is <em>strongly reachable</em> if it can be reached by some
-thread without traversing any reference objects.  A newly-created object is
-strongly reachable by the thread that created it.
-
-<li> An object is <em>softly reachable</em> if it is not strongly reachable but
-can be reached by traversing a soft reference.
-
-<li> An object is <em>weakly reachable</em> if it is neither strongly nor
-softly reachable but can be reached by traversing a weak reference.  When the
-weak references to a weakly-reachable object are cleared, the object becomes
-eligible for finalization.
-
-<li> An object is <em>phantom reachable</em> if it is neither strongly, softly,
-nor weakly reachable, it has been finalized, and some phantom reference refers
-to it.
-
-<li> Finally, an object is <em>unreachable</em>, and therefore eligible for
-reclamation, when it is not reachable in any of the above ways.
-
-</ul>
-
-
-@author	  Mark Reinhold
-@since	  1.2
-
-<!--
-<h2>Related Documentation</h2>
-
-For overviews, tutorials, examples, guides, and tool documentation, please see:
-<ul>
-  <li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
-</ul>
--->
-</body>
-</html>
diff --git a/ojluni/src/main/java/java/lang/reflect/package-info.java b/ojluni/src/main/java/java/lang/reflect/package-info.java
new file mode 100644
index 0000000..258a07e
--- /dev/null
+++ b/ojluni/src/main/java/java/lang/reflect/package-info.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * Provides classes and interfaces for obtaining reflective
+ * information about classes and objects.  Reflection allows
+ * programmatic access to information about the fields, methods and
+ * constructors of loaded classes, and the use of reflected fields,
+ * methods, and constructors to operate on their underlying
+ * counterparts, within security restrictions.
+ *
+ * <p>{@code AccessibleObject} allows suppression of access checks if
+ * the necessary {@code ReflectPermission} is available.
+ *
+ * <p>{@code Array} provides static methods to dynamically create and
+ * access arrays.
+ *
+ * <p>Classes in this package, along with {@code java.lang.Class}
+ * accommodate applications such as debuggers, interpreters, object
+ * inspectors, class browsers, and services such as Object
+ * Serialization and JavaBeans that need access to either the public
+ * members of a target object (based on its runtime class) or the
+ * members declared by a given class.
+ *
+ * @since JDK1.1
+ */
+package java.lang.reflect;
diff --git a/ojluni/src/main/java/java/nio/channels/package-info.java b/ojluni/src/main/java/java/nio/channels/package-info.java
new file mode 100644
index 0000000..85590dd
--- /dev/null
+++ b/ojluni/src/main/java/java/nio/channels/package-info.java
@@ -0,0 +1,290 @@
+/*
+ * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * Defines channels, which represent connections to entities that are capable of
+ * performing I/O operations, such as files and sockets; defines selectors, for
+ * multiplexed, non-blocking I/O operations.
+ *
+ * <a name="channels"></a>
+ *
+ * <blockquote><table cellspacing=1 cellpadding=0 summary="Lists channels and their descriptions">
+ * <tr><th><p align="left">Channels</p></th><th><p align="left">Description</p></th></tr>
+ * <tr><td valign=top><tt><i>{@link java.nio.channels.Channel}</i></tt></td>
+ *     <td>A nexus for I/O operations</td></tr>
+ * <tr><td valign=top><tt>&nbsp;&nbsp;<i>{@link java.nio.channels.ReadableByteChannel}</i></tt></td>
+ *     <td>Can read into a buffer</td></tr>
+ * <tr><td valign=top><tt>&nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.channels.ScatteringByteChannel}&nbsp;&nbsp;</i></tt></td>
+ *     <td>Can read into a sequence of&nbsp;buffers</td></tr>
+ * <tr><td valign=top><tt>&nbsp;&nbsp;<i>{@link java.nio.channels.WritableByteChannel}</i></tt></td>
+ *     <td>Can write from a buffer</td></tr>
+ * <tr><td valign=top><tt>&nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.channels.GatheringByteChannel}</i></tt></td>
+ *     <td>Can write from a sequence of&nbsp;buffers</td></tr>
+ * <tr><td valign=top><tt>&nbsp;&nbsp;<i>{@link java.nio.channels.ByteChannel}</i></tt></td>
+ *     <td>Can read/write to/from a&nbsp;buffer</td></tr>
+ * <tr><td valign=top><tt>&nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.channels.SeekableByteChannel}</i></tt></td>
+ *     <td>A {@code ByteChannel} connected to an entity that contains a variable-length sequence of bytes</td></tr>
+ * <tr><td valign=top><tt>&nbsp;&nbsp;<i>{@link java.nio.channels.AsynchronousChannel}</i></tt></td>
+ *     <td>Supports asynchronous I/O operations.</td></tr>
+ * <tr><td valign=top><tt>&nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.channels.AsynchronousByteChannel}</i></tt></td>
+ *     <td>Can read and write bytes asynchronously</td></tr>
+ * <tr><td valign=top><tt>&nbsp;&nbsp;<i>{@link java.nio.channels.NetworkChannel}</i></tt></td>
+ *     <td>A channel to a network socket</td></tr>
+ * <tr><td valign=top><tt>&nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.channels.MulticastChannel}</i></tt></td>
+ *     <td>Can join Internet Protocol (IP) multicast groups</td></tr>
+ * <tr><td valign=top><tt>{@link java.nio.channels.Channels}</tt></td>
+ *     <td>Utility methods for channel/stream interoperation</td></tr>
+ * </table></blockquote>
+ *
+ * <p> A <i>channel</i> represents an open connection to an entity such as a
+ * hardware device, a file, a network socket, or a program component that is
+ * capable of performing one or more distinct I/O operations, for example reading
+ * or writing.  As specified in the {@link java.nio.channels.Channel} interface,
+ * channels are either open or closed, and they are both <i>asynchronously
+ * closeable</i> and <i>interruptible</i>.
+ *
+ * <p> The {@link java.nio.channels.Channel} interface is extended by several
+ * other interfaces.
+ *
+ * <p> The {@link java.nio.channels.ReadableByteChannel} interface specifies a
+ * {@link java.nio.channels.ReadableByteChannel#read read} method that reads bytes
+ * from the channel into a buffer; similarly, the {@link
+ * java.nio.channels.WritableByteChannel} interface specifies a {@link
+ * java.nio.channels.WritableByteChannel#write write} method that writes bytes
+ * from a buffer to the channel. The {@link java.nio.channels.ByteChannel}
+ * interface unifies these two interfaces for the common case of channels that can
+ * both read and write bytes. The {@link java.nio.channels.SeekableByteChannel}
+ * interface extends the {@code ByteChannel} interface with methods to {@link
+ * java.nio.channels.SeekableByteChannel#position() query} and {@link
+ * java.nio.channels.SeekableByteChannel#position(long) modify} the channel's
+ * current position, and its {@link java.nio.channels.SeekableByteChannel#size
+ * size}.
+ *
+ * <p> The {@link java.nio.channels.ScatteringByteChannel} and {@link
+ * java.nio.channels.GatheringByteChannel} interfaces extend the {@link
+ * java.nio.channels.ReadableByteChannel} and {@link
+ * java.nio.channels.WritableByteChannel} interfaces, respectively, adding {@link
+ * java.nio.channels.ScatteringByteChannel#read read} and {@link
+ * java.nio.channels.GatheringByteChannel#write write} methods that take a
+ * sequence of buffers rather than a single buffer.
+ *
+ * <p> The {@link java.nio.channels.NetworkChannel} interface specifies methods
+ * to {@link java.nio.channels.NetworkChannel#bind bind} the channel's socket,
+ * obtain the address to which the socket is bound, and methods to {@link
+ * java.nio.channels.NetworkChannel#getOption get} and {@link
+ * java.nio.channels.NetworkChannel#setOption set} socket options. The {@link
+ * java.nio.channels.MulticastChannel} interface specifies methods to join
+ * Internet Protocol (IP) multicast groups.
+ *
+ * <p> The {@link java.nio.channels.Channels} utility class defines static methods
+ * that support the interoperation of the stream classes of the <tt>{@link
+ * java.io}</tt> package with the channel classes of this package.  An appropriate
+ * channel can be constructed from an {@link java.io.InputStream} or an {@link
+ * java.io.OutputStream}, and conversely an {@link java.io.InputStream} or an
+ * {@link java.io.OutputStream} can be constructed from a channel.  A {@link
+ * java.io.Reader} can be constructed that uses a given charset to decode bytes
+ * from a given readable byte channel, and conversely a {@link java.io.Writer} can
+ * be constructed that uses a given charset to encode characters into bytes and
+ * write them to a given writable byte channel.
+ *
+ * <blockquote><table cellspacing=1 cellpadding=0 summary="Lists file channels and their descriptions">
+ * <tr><th><p align="left">File channels</p></th><th><p align="left">Description</p></th></tr>
+ * <tr><td valign=top><tt>{@link java.nio.channels.FileChannel}</tt></td>
+ *     <td>Reads, writes, maps, and manipulates files</td></tr>
+ * <tr><td valign=top><tt>{@link java.nio.channels.FileLock}</tt></td>
+ *     <td>A lock on a (region of a) file</td></tr>
+ * <tr><td valign=top><tt>{@link java.nio.MappedByteBuffer}&nbsp;&nbsp;</tt></td>
+ *     <td>A direct byte buffer mapped to a region of a&nbsp;file</td></tr>
+ * </table></blockquote>
+ *
+ * <p> The {@link java.nio.channels.FileChannel} class supports the usual
+ * operations of reading bytes from, and writing bytes to, a channel connected to
+ * a file, as well as those of querying and modifying the current file position
+ * and truncating the file to a specific size.  It defines methods for acquiring
+ * locks on the whole file or on a specific region of a file; these methods return
+ * instances of the {@link java.nio.channels.FileLock} class.  Finally, it defines
+ * methods for forcing updates to the file to be written to the storage device that
+ * contains it, for efficiently transferring bytes between the file and other
+ * channels, and for mapping a region of the file directly into memory.
+ *
+ * <p> A {@code FileChannel} is created by invoking one of its static {@link
+ * java.nio.channels.FileChannel#open open} methods, or by invoking the {@code
+ * getChannel} method of a {@link java.io.FileInputStream}, {@link
+ * java.io.FileOutputStream}, or {@link java.io.RandomAccessFile} to return a
+ * file channel connected to the same underlying file as the <tt>{@link java.io}</tt>
+ * class.
+ *
+ * <a name="multiplex"></a>
+ * <blockquote><table cellspacing=1 cellpadding=0 summary="Lists multiplexed, non-blocking channels and their descriptions">
+ * <tr><th><p align="left">Multiplexed, non-blocking I/O</p></th><th><p align="left">Description</p></th></tr>
+ * <tr><td valign=top><tt>{@link java.nio.channels.SelectableChannel}</tt></td>
+ *     <td>A channel that can be multiplexed</td></tr>
+ * <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.channels.DatagramChannel}</tt></td>
+ *     <td>A channel to a datagram-oriented socket</td></tr>
+ * <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.channels.Pipe.SinkChannel}</tt></td>
+ *     <td>The write end of a pipe</td></tr>
+ * <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.channels.Pipe.SourceChannel}</tt></td>
+ *     <td>The read end of a pipe</td></tr>
+ * <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.channels.ServerSocketChannel}&nbsp;&nbsp;</tt></td>
+ *     <td>A channel to a stream-oriented listening socket</td></tr>
+ * <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.channels.SocketChannel}</tt></td>
+ *     <td>A channel for a stream-oriented connecting socket</td></tr>
+ * <tr><td valign=top><tt>{@link java.nio.channels.Selector}</tt></td>
+ *     <td>A multiplexor of selectable channels</td></tr>
+ * <tr><td valign=top><tt>{@link java.nio.channels.SelectionKey}</tt></td>
+ *     <td>A token representing the registration <br> of a channel
+ *     with&nbsp;a&nbsp;selector</td></tr>
+ * <tr><td valign=top><tt>{@link java.nio.channels.Pipe}</tt></td>
+ *     <td>Two channels that form a unidirectional&nbsp;pipe</td></tr>
+ * </table></blockquote>
+ *
+ * <p> Multiplexed, non-blocking I/O, which is much more scalable than
+ * thread-oriented, blocking I/O, is provided by <i>selectors</i>, <i>selectable
+ * channels</i>, and <i>selection keys</i>.
+ *
+ * <p> A <a href="Selector.html"><i>selector</i></a> is a multiplexor of <a
+ * href="SelectableChannel.html"><i>selectable channels</i></a>, which in turn are
+ * a special type of channel that can be put into <a
+ * href="SelectableChannel.html#bm"><i>non-blocking mode</i></a>.  To perform
+ * multiplexed I/O operations, one or more selectable channels are first created,
+ * put into non-blocking mode, and {@link
+ * java.nio.channels.SelectableChannel#register <i>registered</i>}
+ * with a selector.  Registering a channel specifies the set of I/O operations
+ * that will be tested for readiness by the selector, and returns a <a
+ * href="SelectionKey.html"><i>selection key</i></a> that represents the
+ * registration.
+ *
+ * <p> Once some channels have been registered with a selector, a <a
+ * href="Selector.html#selop"><i>selection operation</i></a> can be performed in
+ * order to discover which channels, if any, have become ready to perform one or
+ * more of the operations in which interest was previously declared.  If a channel
+ * is ready then the key returned when it was registered will be added to the
+ * selector's <i>selected-key set</i>.  The key set, and the keys within it, can
+ * be examined in order to determine the operations for which each channel is
+ * ready.  From each key one can retrieve the corresponding channel in order to
+ * perform whatever I/O operations are required.
+ *
+ * <p> That a selection key indicates that its channel is ready for some operation
+ * is a hint, but not a guarantee, that such an operation can be performed by a
+ * thread without causing the thread to block.  It is imperative that code that
+ * performs multiplexed I/O be written so as to ignore these hints when they prove
+ * to be incorrect.
+ *
+ * <p> This package defines selectable-channel classes corresponding to the {@link
+ * java.net.DatagramSocket}, {@link java.net.ServerSocket}, and {@link
+ * java.net.Socket} classes defined in the <tt>{@link java.net}</tt> package.
+ * Minor changes to these classes have been made in order to support sockets that
+ * are associated with channels.  This package also defines a simple class that
+ * implements unidirectional pipes.  In all cases, a new selectable channel is
+ * created by invoking the static <tt>open</tt> method of the corresponding class.
+ * If a channel needs an associated socket then a socket will be created as a side
+ * effect of this operation.
+ *
+ * <p> The implementation of selectors, selectable channels, and selection keys
+ * can be replaced by "plugging in" an alternative definition or instance of the
+ * {@link java.nio.channels.spi.SelectorProvider} class defined in the <tt>{@link
+ * java.nio.channels.spi}</tt> package.  It is not expected that many developers
+ * will actually make use of this facility; it is provided primarily so that
+ * sophisticated users can take advantage of operating-system-specific
+ * I/O-multiplexing mechanisms when very high performance is required.
+ *
+ * <p> Much of the bookkeeping and synchronization required to implement the
+ * multiplexed-I/O abstractions is performed by the {@link
+ * java.nio.channels.spi.AbstractInterruptibleChannel}, {@link
+ * java.nio.channels.spi.AbstractSelectableChannel}, {@link
+ * java.nio.channels.spi.AbstractSelectionKey}, and {@link
+ * java.nio.channels.spi.AbstractSelector} classes in the <tt>{@link
+ * java.nio.channels.spi}</tt> package.  When defining a custom selector provider,
+ * only the {@link java.nio.channels.spi.AbstractSelector} and {@link
+ * java.nio.channels.spi.AbstractSelectionKey} classes should be subclassed
+ * directly; custom channel classes should extend the appropriate {@link
+ * java.nio.channels.SelectableChannel} subclasses defined in this package.
+ *
+ * <a name="async"></a>
+ *
+ * <blockquote><table cellspacing=1 cellpadding=0 summary="Lists asynchronous channels and their descriptions">
+ * <tr><th><p align="left">Asynchronous I/O</p></th><th><p align="left">Description</p></th></tr>
+ * <tr><td valign=top><tt>{@link java.nio.channels.AsynchronousFileChannel}</tt></td>
+ *     <td>An asynchronous channel for reading, writing, and manipulating a file</td></tr>
+ * <tr><td valign=top><tt>{@link java.nio.channels.AsynchronousSocketChannel}</tt></td>
+ *     <td>An asynchronous channel to a stream-oriented connecting socket</td></tr>
+ * <tr><td valign=top><tt>{@link java.nio.channels.AsynchronousServerSocketChannel}&nbsp;&nbsp;</tt></td>
+ *     <td>An asynchronous channel to a stream-oriented listening socket</td></tr>
+ * <tr><td valign=top><tt>{@link java.nio.channels.CompletionHandler}</tt></td>
+ *     <td>A handler for consuming the result of an asynchronous operation</td></tr>
+ * <tr><td valign=top><tt>{@link java.nio.channels.AsynchronousChannelGroup}</tt></td>
+ *     <td>A grouping of asynchronous channels for the purpose of resource sharing</td></tr>
+ * </table></blockquote>
+ *
+ * <p> {@link java.nio.channels.AsynchronousChannel Asynchronous channels} are a
+ * special type of channel capable of asynchronous I/O operations. Asynchronous
+ * channels are non-blocking and define methods to initiate asynchronous
+ * operations, returning a {@link java.util.concurrent.Future} representing the
+ * pending result of each operation. The {@code Future} can be used to poll or
+ * wait for the result of the operation. Asynchronous I/O operations can also
+ * specify a {@link java.nio.channels.CompletionHandler} to invoke when the
+ * operation completes. A completion handler is user provided code that is executed
+ * to consume the result of I/O operation.
+ *
+ * <p> This package defines asynchronous-channel classes that are connected to
+ * a stream-oriented connecting or listening socket, or a datagram-oriented socket.
+ * It also defines the {@link java.nio.channels.AsynchronousFileChannel} class
+ * for asynchronous reading, writing, and manipulating a file. As with the {@link
+ * java.nio.channels.FileChannel} it supports operations to truncate the file
+ * to a specific size, force updates to the file to be written to the storage
+ * device, or acquire locks on the whole file or on a specific region of the file.
+ * Unlike the {@code FileChannel} it does not define methods for mapping a
+ * region of the file directly into memory. Where memory mapped I/O is required,
+ * then a {@code FileChannel} can be used.
+ *
+ * <p> Asynchronous channels are bound to an asynchronous channel group for the
+ * purpose of resource sharing. A group has an associated {@link
+ * java.util.concurrent.ExecutorService} to which tasks are submitted to handle
+ * I/O events and dispatch to completion handlers that consume the result of
+ * asynchronous operations performed on channels in the group. The group can
+ * optionally be specified when creating the channel or the channel can be bound
+ * to a <em>default group</em>. Sophisticated users may wish to create their
+ * own asynchronous channel groups or configure the {@code ExecutorService}
+ * that will be used for the default group.
+ *
+ * <p> As with selectors, the implementatin of asynchronous channels can be
+ * replaced by "plugging in" an alternative definition or instance of the {@link
+ * java.nio.channels.spi.AsynchronousChannelProvider} class defined in the
+ * <tt>{@link java.nio.channels.spi}</tt> package.  It is not expected that many
+ * developers will actually make use of this facility; it is provided primarily
+ * so that sophisticated users can take advantage of operating-system-specific
+ * asynchronous I/O mechanisms when very high performance is required.
+ *
+ * <hr width="80%">
+ * <p> Unless otherwise noted, passing a <tt>null</tt> argument to a constructor
+ * or method in any class or interface in this package will cause a {@link
+ * java.lang.NullPointerException NullPointerException} to be thrown.
+ *
+ * @since 1.4
+ * @author Mark Reinhold
+ * @author JSR-51 Expert Group
+ */
+
+package java.nio.channels;
diff --git a/ojluni/src/main/java/java/nio/charset/package-info.java b/ojluni/src/main/java/java/nio/charset/package-info.java
new file mode 100644
index 0000000..1fc81e0
--- /dev/null
+++ b/ojluni/src/main/java/java/nio/charset/package-info.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * Defines charsets, decoders, and encoders, for translating between bytes and
+ * Unicode characters.
+ *
+ * <blockquote><table cellspacing=1 cellpadding=0 summary="Summary of charsets, decoders, and encoders in this package">
+ *  <tr><th><p align="left">Class name</p></th><th><p align="left">Description</p></th></tr>
+ *   <tr><td valign=top><tt>{@link java.nio.charset.Charset}</tt></td>
+ *       <td>A named mapping between characters<br>and bytes</td></tr>
+ *   <tr><td valign=top><tt>{@link java.nio.charset.CharsetDecoder}</tt></td>
+ *       <td>Decodes bytes into characters</td></tr>
+ *   <tr><td valign=top><tt>{@link java.nio.charset.CharsetEncoder}&nbsp;&nbsp;</tt></td>
+ *       <td>Encodes characters into bytes</td></tr>
+ *   <tr><td valign=top><tt>{@link java.nio.charset.CoderResult}&nbsp;&nbsp;</tt></td>
+ *       <td>Describes coder results</td></tr>
+ *   <tr><td valign=top><tt>{@link java.nio.charset.CodingErrorAction}&nbsp;&nbsp;</tt></td>
+ *       <td>Describes actions to take when<br>coding errors are detected</td></tr>
+ *
+ * </table></blockquote>
+ *
+ * <p> A <i>charset</i> is named mapping between sequences of sixteen-bit Unicode
+ * characters and sequences of bytes, in the sense defined in <a
+ * href="http://www.ietf.org/rfc/rfc2278.txt"><i>RFC&nbsp;2278</i></a>.  A
+ * <i>decoder</i> is an engine which transforms bytes in a specific charset into
+ * characters, and an <i>encoder</i> is an engine which transforms characters into
+ * bytes.  Encoders and decoders operate on byte and character buffers.  They are
+ * collectively referred to as <i>coders</i>.
+ *
+ * <p> The {@link java.nio.charset.Charset} class defines methods for creating
+ * coders for a given charset and for retrieving the various names associated with
+ * a charset.  It also defines static methods for testing whether a particular
+ * charset is supported, for locating charset instances by name, and for
+ * constructing a map that contains every charset for which support is available
+ * in the current Java virtual machine.
+ *
+ * <p> Most users will not use these classes directly; instead they will use the
+ * existing charset-related constructors and methods in the {@link
+ * java.lang.String} class, together with the existing {@link
+ * java.io.InputStreamReader} and {@link java.io.OutputStreamWriter} classes, all
+ * of whose implementations have been reworked to make use of the charset
+ * facilities defined in this package.  A small number of changes have been made
+ * to the {@link java.io.InputStreamReader} and {@link java.io.OutputStreamWriter}
+ * classes in order to allow explicit charset objects to be specified in the
+ * construction of instances of those classes.
+ *
+ * <p> Support for new charsets can be made available via the interface defined in
+ * the {@link java.nio.charset.spi.CharsetProvider} class in the <tt>{@link
+ * java.nio.charset.spi}</tt> package.
+ *
+ * <p> Unless otherwise noted, passing a <tt>null</tt> argument to a constructor
+ * or method in any class or interface in this package will cause a {@link
+ * java.lang.NullPointerException NullPointerException} to be thrown.
+ *
+ *
+ * @since 1.4
+ * @author Mark Reinhold
+ * @author JSR-51 Expert Group
+ */
+
+package java.nio.charset;
diff --git a/ojluni/src/main/java/java/nio/charset/package.html b/ojluni/src/main/java/java/nio/charset/package.html
deleted file mode 100755
index 69b160b..0000000
--- a/ojluni/src/main/java/java/nio/charset/package.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!--
- Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
- DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-
- 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.
-
- This code is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- version 2 for more details (a copy is included in the LICENSE file that
- accompanied this code).
-
- You should have received a copy of the GNU General Public License version
- 2 along with this work; if not, write to the Free Software Foundation,
- Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
- Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- or visit www.oracle.com if you need additional information or have any
- questions.
--->
-
-<!doctype html public "-//IETF//DTD HTML//EN">
-<html>
-<body bgcolor="white">
-
-
-Defines charsets, decoders, and encoders, for translating between bytes and
-Unicode characters.
-
-<blockquote><table cellspacing=1 cellpadding=0 summary="Summary of charsets, decoders, and encoders in this package">
- <tr><th><p align="left">Class name</p></th><th><p align="left">Description</p></th></tr>
-  <tr><td valign=top><tt>{@link java.nio.charset.Charset}</tt></td>
-      <td>A named mapping between characters<br>and bytes</td></tr>
-  <tr><td valign=top><tt>{@link java.nio.charset.CharsetDecoder}</tt></td>
-      <td>Decodes bytes into characters</td></tr>
-  <tr><td valign=top><tt>{@link java.nio.charset.CharsetEncoder}&nbsp;&nbsp;</tt></td>
-      <td>Encodes characters into bytes</td></tr>
-  <tr><td valign=top><tt>{@link java.nio.charset.CoderResult}&nbsp;&nbsp;</tt></td>
-      <td>Describes coder results</td></tr>
-  <tr><td valign=top><tt>{@link java.nio.charset.CodingErrorAction}&nbsp;&nbsp;</tt></td>
-      <td>Describes actions to take when<br>coding errors are detected</td></tr>
-
-</table></blockquote>
-
-<p> A <i>charset</i> is named mapping between sequences of sixteen-bit Unicode
-characters and sequences of bytes, in the sense defined in <a
-href="http://www.ietf.org/rfc/rfc2278.txt"><i>RFC&nbsp;2278</i></a>.  A
-<i>decoder</i> is an engine which transforms bytes in a specific charset into
-characters, and an <i>encoder</i> is an engine which transforms characters into
-bytes.  Encoders and decoders operate on byte and character buffers.  They are
-collectively referred to as <i>coders</i>.
-
-<p> The {@link java.nio.charset.Charset} class defines methods for creating
-coders for a given charset and for retrieving the various names associated with
-a charset.  It also defines static methods for testing whether a particular
-charset is supported, for locating charset instances by name, and for
-constructing a map that contains every charset for which support is available
-in the current Java virtual machine.
-
-<p> Most users will not use these classes directly; instead they will use the
-existing charset-related constructors and methods in the {@link
-java.lang.String} class, together with the existing {@link
-java.io.InputStreamReader} and {@link java.io.OutputStreamWriter} classes, all
-of whose implementations have been reworked to make use of the charset
-facilities defined in this package.  A small number of changes have been made
-to the {@link java.io.InputStreamReader} and {@link java.io.OutputStreamWriter}
-classes in order to allow explicit charset objects to be specified in the
-construction of instances of those classes.
-
-<p> Support for new charsets can be made available via the interface defined in
-the {@link java.nio.charset.spi.CharsetProvider} class in the <tt>{@link
-java.nio.charset.spi}</tt> package.
-
-<p> Unless otherwise noted, passing a <tt>null</tt> argument to a constructor
-or method in any class or interface in this package will cause a {@link
-java.lang.NullPointerException NullPointerException} to be thrown.
-
-
-@since 1.4
-@author Mark Reinhold
-@author JSR-51 Expert Group
-
-</body>
-</html>
diff --git a/ojluni/src/main/java/java/nio/package-info.java b/ojluni/src/main/java/java/nio/package-info.java
new file mode 100644
index 0000000..b466dc4
--- /dev/null
+++ b/ojluni/src/main/java/java/nio/package-info.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * Defines buffers, which are containers for data, and provides an overview of the
+ * other NIO packages.
+ *
+ *
+ * <p> The central abstractions of the NIO APIs are: </p>
+ *
+ * <ul>
+ *
+ *   <li><p> <a href="#buffers"><i>Buffers</i></a>, which are containers for data;
+ *   </p></li>
+ *
+ *   <li><p> <a href="charset/package-summary.html"><i>Charsets</i></a> and their
+ *   associated <i>decoders</i> and <i>encoders</i>, <br> which translate between
+ *   bytes and Unicode characters; </p></li>
+ *
+ *   <li><p> <a href="channels/package-summary.html"><i>Channels</i></a> of
+ *   various types, which represent connections <br> to entities capable of
+ *   performing I/O operations; and </p></li>
+ *
+ *   <li><p> <i>Selectors</i> and <i>selection keys</i>, which together with <br>
+ *   <i>selectable channels</i> define a <a
+ *   href="channels/package-summary.html#multiplex">multiplexed, non-blocking <br>
+ *   I/O</a>&nbsp;facility.  </p></li>
+ *
+ * </ul>
+ *
+ * <p> The <tt>java.nio</tt> package defines the buffer classes, which are used
+ * throughout the NIO APIs.  The charset API is defined in the {@link
+ * java.nio.charset} package, and the channel and selector APIs are defined in the
+ * {@link java.nio.channels} package.  Each of these subpackages has its own
+ * service-provider (SPI) subpackage, the contents of which can be used to extend
+ * the platform's default implementations or to construct alternative
+ * implementations.
+ *
+ *
+ * <a name="buffers">
+ *
+ * <blockquote><table cellspacing=1 cellpadding=0 summary="Description of the various buffers">
+ *   <tr><th><p align="left">Buffers</p></th><th><p align="left">Description</p></th></tr>
+ *   <tr><td valign=top><tt>{@link java.nio.Buffer}</tt></td>
+ *       <td>Position, limit, and capacity;
+ *           <br>clear, flip, rewind, and mark/reset</td></tr>
+ *   <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.ByteBuffer}</tt></td>
+ *       <td>Get/put, compact, views; allocate,&nbsp;wrap</td></tr>
+ *   <tr><td valign=top><tt>&nbsp;&nbsp;&nbsp;&nbsp;{@link java.nio.MappedByteBuffer}&nbsp;&nbsp;</tt></td>
+ *       <td>A byte buffer mapped to a file</td></tr>
+ *   <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.CharBuffer}</tt></td>
+ *       <td>Get/put, compact; allocate,&nbsp;wrap</td></tr>
+ *   <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.DoubleBuffer}</tt></td>
+ *       <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
+ *   <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.FloatBuffer}</tt></td>
+ *       <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
+ *   <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.IntBuffer}</tt></td>
+ *       <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
+ *   <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.LongBuffer}</tt></td>
+ *       <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
+ *   <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.ShortBuffer}</tt></td>
+ *       <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
+ *   <tr><td valign=top><tt>{@link java.nio.ByteOrder}</tt></td>
+ *       <td>Typesafe enumeration for&nbsp;byte&nbsp;orders</td></tr>
+ * </table></blockquote>
+ *
+ * <p> A <i>buffer</i> is a container for a fixed amount of data of a specific
+ * primitive type.  In addition to its content a buffer has a <i>position</i>,
+ * which is the index of the next element to be read or written, and a
+ * <i>limit</i>, which is the index of the first element that should not be read
+ * or written.  The base {@link java.nio.Buffer} class defines these properties as
+ * well as methods for <i>clearing</i>, <i>flipping</i>, and <i>rewinding</i>, for
+ * <i>marking</i> the current position, and for <i>resetting</i> the position to
+ * the previous mark.
+ *
+ * <p> There is a buffer class for each non-boolean primitive type.  Each class
+ * defines a family of <i>get</i> and <i>put</i> methods for moving data out of
+ * and in to a buffer, methods for <i>compacting</i>, <i>duplicating</i>, and
+ * <i>slicing</i> a buffer, and static methods for <i>allocating</i> a new buffer
+ * as well as for <i>wrapping</i> an existing array into a buffer.
+ *
+ * <p> Byte buffers are distinguished in that they can be used as the sources and
+ * targets of I/O operations.  They also support several features not found in the
+ * other buffer classes:
+ *
+ * <ul>
+ *
+ *   <li><p> A byte buffer can be allocated as a <a href="ByteBuffer.html#direct">
+ *   <i>direct</i></a> buffer, in which case the Java virtual machine will make a
+ *   best effort to perform native I/O operations directly upon it.  </p></li>
+ *
+ *   <li><p> A byte buffer can be created by {@link
+ *   java.nio.channels.FileChannel#map </code><i>mapping</i><code>} a region of a
+ *   file directly into memory, in which case a few additional file-related
+ *   operations defined in the {@link java.nio.MappedByteBuffer} class are
+ *   available.  </p></li>
+ *
+ *   <li><p> A byte buffer provides access to its content as either a heterogeneous
+ *   or homogeneous sequence of <a href="ByteBuffer.html#bin">binary data</i></a>
+ *   of any non-boolean primitive type, in either big-endian or little-endian <a
+ *   href="ByteOrder.html">byte order</a>.  </p></li>
+ *
+ * </ul>
+ *
+ * <p> Unless otherwise noted, passing a <tt>null</tt> argument to a constructor
+ * or method in any class or interface in this package will cause a {@link
+ * java.lang.NullPointerException NullPointerException} to be thrown.
+ *
+ * @since 1.4
+ * @author Mark Reinhold
+ * @author JSR-51 Expert Group
+ */
+
+package java.nio;
diff --git a/ojluni/src/main/java/java/nio/package.html b/ojluni/src/main/java/java/nio/package.html
deleted file mode 100755
index 27059e7..0000000
--- a/ojluni/src/main/java/java/nio/package.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<!--
- Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
- DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-
- 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.
-
- This code is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- version 2 for more details (a copy is included in the LICENSE file that
- accompanied this code).
-
- You should have received a copy of the GNU General Public License version
- 2 along with this work; if not, write to the Free Software Foundation,
- Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
- Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- or visit www.oracle.com if you need additional information or have any
- questions.
--->
-
-<!doctype html public "-//IETF//DTD HTML//EN">
-<html>
-<body bgcolor="white">
-
-Defines buffers, which are containers for data, and provides an overview of the
-other NIO packages.
-
-
-<p> The central abstractions of the NIO APIs are: </p>
-
-<ul>
-
-  <li><p> <a href="#buffers"><i>Buffers</i></a>, which are containers for data;
-  </p></li>
-
-  <li><p> <a href="charset/package-summary.html"><i>Charsets</i></a> and their
-  associated <i>decoders</i> and <i>encoders</i>, <br> which translate between
-  bytes and Unicode characters; </p></li>
-
-  <li><p> <a href="channels/package-summary.html"><i>Channels</i></a> of
-  various types, which represent connections <br> to entities capable of
-  performing I/O operations; and </p></li>
-
-  <li><p> <i>Selectors</i> and <i>selection keys</i>, which together with <br>
-  <i>selectable channels</i> define a <a
-  href="channels/package-summary.html#multiplex">multiplexed, non-blocking <br>
-  I/O</a>&nbsp;facility.  </p></li>
-
-</ul>
-
-<p> The <tt>java.nio</tt> package defines the buffer classes, which are used
-throughout the NIO APIs.  The charset API is defined in the {@link
-java.nio.charset} package, and the channel and selector APIs are defined in the
-{@link java.nio.channels} package.  Each of these subpackages has its own
-service-provider (SPI) subpackage, the contents of which can be used to extend
-the platform's default implementations or to construct alternative
-implementations.
-
-
-<a name="buffers">
-
-<blockquote><table cellspacing=1 cellpadding=0 summary="Description of the various buffers">
-  <tr><th><p align="left">Buffers</p></th><th><p align="left">Description</p></th></tr> 
-  <tr><td valign=top><tt>{@link java.nio.Buffer}</tt></td>
-      <td>Position, limit, and capacity;
-          <br>clear, flip, rewind, and mark/reset</td></tr>
-  <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.ByteBuffer}</tt></td>
-      <td>Get/put, compact, views; allocate,&nbsp;wrap</td></tr>
-  <tr><td valign=top><tt>&nbsp;&nbsp;&nbsp;&nbsp;{@link java.nio.MappedByteBuffer}&nbsp;&nbsp;</tt></td>
-      <td>A byte buffer mapped to a file</td></tr>
-  <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.CharBuffer}</tt></td>
-      <td>Get/put, compact; allocate,&nbsp;wrap</td></tr>
-  <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.DoubleBuffer}</tt></td>
-      <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
-  <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.FloatBuffer}</tt></td>
-      <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
-  <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.IntBuffer}</tt></td>
-      <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
-  <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.LongBuffer}</tt></td>
-      <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
-  <tr><td valign=top><tt>&nbsp;&nbsp;{@link java.nio.ShortBuffer}</tt></td>
-      <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
-  <tr><td valign=top><tt>{@link java.nio.ByteOrder}</tt></td>
-      <td>Typesafe enumeration for&nbsp;byte&nbsp;orders</td></tr>
-</table></blockquote>
-
-<p> A <i>buffer</i> is a container for a fixed amount of data of a specific
-primitive type.  In addition to its content a buffer has a <i>position</i>,
-which is the index of the next element to be read or written, and a
-<i>limit</i>, which is the index of the first element that should not be read
-or written.  The base {@link java.nio.Buffer} class defines these properties as
-well as methods for <i>clearing</i>, <i>flipping</i>, and <i>rewinding</i>, for
-<i>marking</i> the current position, and for <i>resetting</i> the position to
-the previous mark.
-
-<p> There is a buffer class for each non-boolean primitive type.  Each class
-defines a family of <i>get</i> and <i>put</i> methods for moving data out of
-and in to a buffer, methods for <i>compacting</i>, <i>duplicating</i>, and
-<i>slicing</i> a buffer, and static methods for <i>allocating</i> a new buffer
-as well as for <i>wrapping</i> an existing array into a buffer.
-
-<p> Byte buffers are distinguished in that they can be used as the sources and
-targets of I/O operations.  They also support several features not found in the
-other buffer classes:
-
-<ul>
-
-  <li><p> A byte buffer can be allocated as a <a href="ByteBuffer.html#direct">
-  <i>direct</i></a> buffer, in which case the Java virtual machine will make a
-  best effort to perform native I/O operations directly upon it.  </p></li>
-
-  <li><p> A byte buffer can be created by {@link
-  java.nio.channels.FileChannel#map </code><i>mapping</i><code>} a region of a
-  file directly into memory, in which case a few additional file-related
-  operations defined in the {@link java.nio.MappedByteBuffer} class are
-  available.  </p></li>
-
-  <li><p> A byte buffer provides access to its content as either a heterogeneous
-  or homogeneous sequence of <a href="ByteBuffer.html#bin">binary data</i></a>
-  of any non-boolean primitive type, in either big-endian or little-endian <a
-  href="ByteOrder.html">byte order</a>.  </p></li>
-
-</ul>
-
-<p> Unless otherwise noted, passing a <tt>null</tt> argument to a constructor
-or method in any class or interface in this package will cause a {@link
-java.lang.NullPointerException NullPointerException} to be thrown.
-
-@since 1.4
-@author Mark Reinhold
-@author JSR-51 Expert Group
-
-</body>
-</html>
diff --git a/openjdk_java_files.mk b/openjdk_java_files.mk
index b155806..d71e9fe 100644
--- a/openjdk_java_files.mk
+++ b/openjdk_java_files.mk
@@ -104,6 +104,7 @@
     ojluni/src/main/java/java/lang/annotation/Repeatable.java \
     ojluni/src/main/java/java/lang/annotation/RetentionPolicy.java \
     ojluni/src/main/java/java/lang/annotation/Target.java \
+    ojluni/src/main/java/java/lang/annotation/package-info.java \
     ojluni/src/main/java/java/lang/Appendable.java \
     ojluni/src/main/java/java/lang/ApplicationShutdownHooks.java \
     ojluni/src/main/java/java/lang/ArithmeticException.java \
@@ -171,6 +172,7 @@
     ojluni/src/main/java/java/lang/ProcessImpl.java \
     ojluni/src/main/java/java/lang/Process.java \
     ojluni/src/main/java/java/lang/Readable.java \
+    ojluni/src/main/java/java/lang/package-info.java \
     ojluni/src/main/java/java/lang/reflect/AccessibleObject.java \
     ojluni/src/main/java/java/lang/reflect/AnnotatedElement.java \
     ojluni/src/main/java/java/lang/reflect/Array.java \
@@ -193,11 +195,13 @@
     ojluni/src/main/java/java/lang/reflect/TypeVariable.java \
     ojluni/src/main/java/java/lang/reflect/UndeclaredThrowableException.java \
     ojluni/src/main/java/java/lang/reflect/WildcardType.java \
+    ojluni/src/main/java/java/lang/reflect/package-info.java \
     ojluni/src/main/java/java/lang/ref/PhantomReference.java \
     ojluni/src/main/java/java/lang/ref/Reference.java \
     ojluni/src/main/java/java/lang/ref/ReferenceQueue.java \
     ojluni/src/main/java/java/lang/ref/SoftReference.java \
     ojluni/src/main/java/java/lang/ref/WeakReference.java \
+    ojluni/src/main/java/java/lang/ref/package-info.java \
     ojluni/src/main/java/java/lang/Runnable.java \
     ojluni/src/main/java/java/lang/RuntimeException.java \
     ojluni/src/main/java/java/lang/Runtime.java \
@@ -348,6 +352,26 @@
     ojluni/src/main/java/java/nio/channels/InterruptedByTimeoutException.java \
     ojluni/src/main/java/java/nio/channels/InterruptibleChannel.java \
     ojluni/src/main/java/java/nio/channels/MembershipKey.java \
+    ojluni/src/main/java/java/nio/channels/package-info.java \
+    ojluni/src/main/java/java/nio/CharBuffer.java \
+    ojluni/src/main/java/java/nio/CharBufferSpliterator.java \
+    ojluni/src/main/java/java/nio/DirectByteBuffer.java \
+    ojluni/src/main/java/java/nio/DoubleBuffer.java \
+    ojluni/src/main/java/java/nio/FloatBuffer.java \
+    ojluni/src/main/java/java/nio/HeapByteBuffer.java \
+    ojluni/src/main/java/java/nio/HeapCharBuffer.java \
+    ojluni/src/main/java/java/nio/HeapDoubleBuffer.java \
+    ojluni/src/main/java/java/nio/HeapFloatBuffer.java \
+    ojluni/src/main/java/java/nio/HeapIntBuffer.java \
+    ojluni/src/main/java/java/nio/HeapLongBuffer.java \
+    ojluni/src/main/java/java/nio/HeapShortBuffer.java \
+    ojluni/src/main/java/java/nio/IntBuffer.java \
+    ojluni/src/main/java/java/nio/InvalidMarkException.java \
+    ojluni/src/main/java/java/nio/LongBuffer.java \
+    ojluni/src/main/java/java/nio/MappedByteBuffer.java \
+    ojluni/src/main/java/java/nio/ReadOnlyBufferException.java \
+    ojluni/src/main/java/java/nio/ShortBuffer.java \
+    ojluni/src/main/java/java/nio/StringCharBuffer.java \
     ojluni/src/main/java/java/nio/channels/MulticastChannel.java \
     ojluni/src/main/java/java/nio/channels/NetworkChannel.java \
     ojluni/src/main/java/java/nio/channels/NoConnectionPendingException.java \
@@ -357,8 +381,8 @@
     ojluni/src/main/java/java/nio/channels/NotYetConnectedException.java \
     ojluni/src/main/java/java/nio/channels/OverlappingFileLockException.java \
     ojluni/src/main/java/java/nio/channels/Pipe.java \
-    ojluni/src/main/java/java/nio/channels/ReadableByteChannel.java \
     ojluni/src/main/java/java/nio/channels/ReadPendingException.java \
+    ojluni/src/main/java/java/nio/channels/ReadableByteChannel.java \
     ojluni/src/main/java/java/nio/channels/ScatteringByteChannel.java \
     ojluni/src/main/java/java/nio/channels/SeekableByteChannel.java \
     ojluni/src/main/java/java/nio/channels/SelectableChannel.java \
@@ -367,31 +391,30 @@
     ojluni/src/main/java/java/nio/channels/ServerSocketChannel.java \
     ojluni/src/main/java/java/nio/channels/ShutdownChannelGroupException.java \
     ojluni/src/main/java/java/nio/channels/SocketChannel.java \
+    ojluni/src/main/java/java/nio/channels/UnresolvedAddressException.java \
+    ojluni/src/main/java/java/nio/channels/UnsupportedAddressTypeException.java \
+    ojluni/src/main/java/java/nio/channels/WritableByteChannel.java \
+    ojluni/src/main/java/java/nio/channels/WritePendingException.java \
     ojluni/src/main/java/java/nio/channels/spi/AbstractInterruptibleChannel.java \
     ojluni/src/main/java/java/nio/channels/spi/AbstractSelectableChannel.java \
     ojluni/src/main/java/java/nio/channels/spi/AbstractSelectionKey.java \
     ojluni/src/main/java/java/nio/channels/spi/AbstractSelector.java \
     ojluni/src/main/java/java/nio/channels/spi/AsynchronousChannelProvider.java \
     ojluni/src/main/java/java/nio/channels/spi/SelectorProvider.java \
-    ojluni/src/main/java/java/nio/channels/UnresolvedAddressException.java \
-    ojluni/src/main/java/java/nio/channels/UnsupportedAddressTypeException.java \
-    ojluni/src/main/java/java/nio/channels/WritableByteChannel.java \
-    ojluni/src/main/java/java/nio/channels/WritePendingException.java \
-    ojluni/src/main/java/java/nio/CharBuffer.java \
-    ojluni/src/main/java/java/nio/CharBufferSpliterator.java \
     ojluni/src/main/java/java/nio/charset/CharacterCodingException.java \
+    ojluni/src/main/java/java/nio/charset/Charset.java \
     ojluni/src/main/java/java/nio/charset/CharsetDecoder.java \
     ojluni/src/main/java/java/nio/charset/CharsetEncoder.java \
-    ojluni/src/main/java/java/nio/charset/Charset.java \
     ojluni/src/main/java/java/nio/charset/CoderMalfunctionError.java \
     ojluni/src/main/java/java/nio/charset/CoderResult.java \
     ojluni/src/main/java/java/nio/charset/CodingErrorAction.java \
     ojluni/src/main/java/java/nio/charset/IllegalCharsetNameException.java \
     ojluni/src/main/java/java/nio/charset/MalformedInputException.java \
-    ojluni/src/main/java/java/nio/charset/spi/CharsetProvider.java \
     ojluni/src/main/java/java/nio/charset/StandardCharsets.java \
     ojluni/src/main/java/java/nio/charset/UnmappableCharacterException.java \
     ojluni/src/main/java/java/nio/charset/UnsupportedCharsetException.java \
+    ojluni/src/main/java/java/nio/charset/package-info.java \
+    ojluni/src/main/java/java/nio/charset/spi/CharsetProvider.java \
     ojluni/src/main/java/java/nio/file/AccessDeniedException.java \
     ojluni/src/main/java/java/nio/file/AccessMode.java \
     ojluni/src/main/java/java/nio/file/AtomicMoveNotSupportedException.java \
@@ -466,23 +489,7 @@
     ojluni/src/main/java/java/nio/file/attribute/UserPrincipalNotFoundException.java \
     ojluni/src/main/java/java/nio/file/spi/FileSystemProvider.java \
     ojluni/src/main/java/java/nio/file/spi/FileTypeDetector.java \
-    ojluni/src/main/java/java/nio/DirectByteBuffer.java \
-    ojluni/src/main/java/java/nio/DoubleBuffer.java \
-    ojluni/src/main/java/java/nio/FloatBuffer.java \
-    ojluni/src/main/java/java/nio/HeapByteBuffer.java \
-    ojluni/src/main/java/java/nio/HeapCharBuffer.java \
-    ojluni/src/main/java/java/nio/HeapDoubleBuffer.java \
-    ojluni/src/main/java/java/nio/HeapFloatBuffer.java \
-    ojluni/src/main/java/java/nio/HeapIntBuffer.java \
-    ojluni/src/main/java/java/nio/HeapLongBuffer.java \
-    ojluni/src/main/java/java/nio/HeapShortBuffer.java \
-    ojluni/src/main/java/java/nio/IntBuffer.java \
-    ojluni/src/main/java/java/nio/InvalidMarkException.java \
-    ojluni/src/main/java/java/nio/LongBuffer.java \
-    ojluni/src/main/java/java/nio/MappedByteBuffer.java \
-    ojluni/src/main/java/java/nio/ReadOnlyBufferException.java \
-    ojluni/src/main/java/java/nio/ShortBuffer.java \
-    ojluni/src/main/java/java/nio/StringCharBuffer.java \
+    ojluni/src/main/java/java/nio/package-info.java \
     ojluni/src/main/java/java/security/AccessControlContext.java \
     ojluni/src/main/java/java/security/AccessControlException.java \
     ojluni/src/main/java/java/security/AccessController.java \
@@ -865,7 +872,6 @@
     ojluni/src/main/java/java/util/stream/MatchOps.java \
     ojluni/src/main/java/java/util/stream/Node.java \
     ojluni/src/main/java/java/util/stream/Nodes.java \
-    ojluni/src/main/java/java/util/stream/package-info.java \
     ojluni/src/main/java/java/util/stream/PipelineHelper.java \
     ojluni/src/main/java/java/util/stream/ReduceOps.java \
     ojluni/src/main/java/java/util/stream/ReferencePipeline.java \
@@ -882,6 +888,7 @@
     ojluni/src/main/java/java/util/stream/TerminalOp.java \
     ojluni/src/main/java/java/util/stream/TerminalSink.java \
     ojluni/src/main/java/java/util/stream/Tripwire.java \
+    ojluni/src/main/java/java/util/stream/package-info.java \
     ojluni/src/main/java/java/util/JumboEnumSet.java \
     ojluni/src/main/java/java/util/LinkedHashMap.java \
     ojluni/src/main/java/java/util/LinkedHashSet.java \