Improve comments; update spec license.
diff --git a/activation/src/main/java/doc-files/speclicense.html b/activation/src/main/java/doc-files/speclicense.html
index 23cb3ea..922d5df 100644
--- a/activation/src/main/java/doc-files/speclicense.html
+++ b/activation/src/main/java/doc-files/speclicense.html
@@ -3,21 +3,19 @@
<title>Specification License</title>
</head>
<body>
-Specification: JSR-925 JavaBeans Activation Framework API Specification ("Specification")
+Specification: JSR-925 JavaBeans Activation Framework ("Specification")
<br/>
Version: 1.2
<br/>
-Status: Final Release
+Status: Maintenance Release
<br/>
Specification Lead: Oracle America, Inc. ("Specification Lead")
<br/>
-Release: July 11, 2017
+Release: July 2017
<br/>
<br/>
-Copyright © 2017 Oracle America, Inc.
-<br/>
-All rights reserved.
+Copyright © 2017 Oracle America, Inc. All rights reserved.
<br/>
<p>
LIMITED LICENSE GRANTS
@@ -115,16 +113,16 @@
from Specification Lead, includes any of Specification Lead's source
code or binary code materials; "Licensor Name Space" shall mean the
public class or interface declarations whose names begin with "java",
-"javax", "com.sun" and "com.oracle" or their equivalents in any
-subsequent naming convention adopted by Oracle America, Inc. through
-the Java Community Process, or any recognized successors or
-replacements thereof; and "Technology Compatibility Kit" or "TCK" shall
-mean the test suite and accompanying TCK User's Guide provided by
-Specification Lead which corresponds to the Specification and that was
-available either (i) from Specification Lead's 120 days before the
-first release of Your Independent Implementation that allows its use
-for commercial purposes, or (ii) more recently than 120 days from such
-release but against which You elect to test Your implementation of the
+"javax", "com.oracle", "com.sun" or their equivalents in any subsequent
+naming convention adopted by Oracle America, Inc. through the Java
+Community Process, or any recognized successors or replacements
+thereof; and "Technology Compatibility Kit" or "TCK" shall mean the
+test suite and accompanying TCK User's Guide provided by Specification
+Lead which corresponds to the Specification and that was available
+either (i) from Specification Lead 120 days before the first release of
+Your Independent Implementation that allows its use for commercial
+purposes, or (ii) more recently than 120 days from such release but
+against which You elect to test Your implementation of the
Specification.
</p>
<p>
@@ -153,15 +151,15 @@
LIMITATION, LOST REVENUE, PROFITS OR DATA, OR FOR SPECIAL, INDIRECT,
CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED IN ANY
-WAY TO YOUR HAVING, IMPELEMENTING OR OTHERWISE USING USING THE
-SPECIFICATION, EVEN IF SPECIFICATION LEAD AND/OR ITS LICENSORS HAVE
-BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. You will indemnify,
-hold harmless, and defend Specification Lead and its licensors from any
-claims arising or resulting from: (i) your use of the Specification;
-(ii) the use or distribution of your Java application, applet and/or
-implementation; and/or (iii) any claims that later versions or releases
-of any Specification furnished to you are incompatible with the
-Specification provided to you under this license.
+WAY TO YOUR HAVING, IMPLEMENTING OR OTHERWISE USING THE SPECIFICATION,
+EVEN IF SPECIFICATION LEAD AND/OR ITS LICENSORS HAVE BEEN ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES. You will indemnify, hold harmless,
+and defend Specification Lead and its licensors from any claims arising
+or resulting from: (i) your use of the Specification; (ii) the use or
+distribution of your Java application, applet and/or implementation;
+and/or (iii) any claims that later versions or releases of any
+Specification furnished to you are incompatible with the Specification
+provided to you under this license.
</p>
<p>
RESTRICTED RIGHTS LEGEND
diff --git a/activation/src/main/java/javax/activation/MailcapCommandMap.java b/activation/src/main/java/javax/activation/MailcapCommandMap.java
index 0978617..284ae0e 100644
--- a/activation/src/main/java/javax/activation/MailcapCommandMap.java
+++ b/activation/src/main/java/javax/activation/MailcapCommandMap.java
@@ -64,16 +64,18 @@
* <ol>
* <li> Programatically added entries to the MailcapCommandMap instance.
* <li> The file <code>.mailcap</code> in the user's home directory.
- * <li> The file <code><i>java.home</i>/<i>conf</i>/mailcap</code>.
+ * <li> The file <code>mailcap</code> in the Java runtime.
* <li> The file or resources named <code>META-INF/mailcap</code>.
* <li> The file or resource named <code>META-INF/mailcap.default</code>
* (usually found only in the <code>activation.jar</code> file).
* </ol>
* <p>
- * (Where <i>java.home</i> is the value of the "java.home" System property
- * and <i>conf</i> is the directory named "conf" if it exists,
- * otherwise the directory named "lib"; the "conf" directory was
- * introduced in JDK 1.9.)
+ * (The current implementation looks for the <code>mailcap</code> file
+ * in the Java runtime in the directory <code><i>java.home</i>/conf</code>
+ * if it exists, and otherwise in the directory
+ * <code><i>java.home</i>/lib</code>, where <i>java.home</i> is the value
+ * of the "java.home" System property. Note that the "conf" directory was
+ * introduced in JDK 9.)
* <p>
* <b>Mailcap file format:</b><p>
*
diff --git a/activation/src/main/java/javax/activation/MimetypesFileTypeMap.java b/activation/src/main/java/javax/activation/MimetypesFileTypeMap.java
index 894a4bf..0fb2c15 100644
--- a/activation/src/main/java/javax/activation/MimetypesFileTypeMap.java
+++ b/activation/src/main/java/javax/activation/MimetypesFileTypeMap.java
@@ -60,16 +60,18 @@
* <ol>
* <li> Programmatically added entries to the MimetypesFileTypeMap instance.
* <li> The file <code>.mime.types</code> in the user's home directory.
- * <li> The file <code><i>java.home</i>/<i>conf</i>/mime.types</code>.
+ * <li> The file <code>mime.types</code> in the Java runtime.
* <li> The file or resources named <code>META-INF/mime.types</code>.
* <li> The file or resource named <code>META-INF/mimetypes.default</code>
* (usually found only in the <code>activation.jar</code> file).
* </ol>
* <p>
- * (Where <i>java.home</i> is the value of the "java.home" System property
- * and <i>conf</i> is the directory named "conf" if it exists,
- * otherwise the directory named "lib"; the "conf" directory was
- * introduced in JDK 1.9.)
+ * (The current implementation looks for the <code>mime.types</code> file
+ * in the Java runtime in the directory <code><i>java.home</i>/conf</code>
+ * if it exists, and otherwise in the directory
+ * <code><i>java.home</i>/lib</code>, where <i>java.home</i> is the value
+ * of the "java.home" System property. Note that the "conf" directory was
+ * introduced in JDK 9.)
* <p>
* <b>MIME types file format:</b><p>
*
diff --git a/doc/spec/JAF-1.2-changes.txt b/doc/spec/JAF-1.2-changes.txt
new file mode 100644
index 0000000..bfd349b
--- /dev/null
+++ b/doc/spec/JAF-1.2-changes.txt
@@ -0,0 +1,94 @@
+
+ JavaBeans Activation Framework 1.2
+ ==================================
+
+JAF 1.2 proposes a few minor changes to the JAF specification to
+align with other changes in JDK 9. Following is a description of
+the changes that are being introduced in JAF 1.2. The numbers in
+parentheses are bug numbers; you can find more information about the
+bug reports at:
+
+ http://bugs.openjdk.java.net
+
+The JAF 1.2 RI will require Java SE 7 or later. JAF 1.2 will be
+included in Java SE 9.
+
+The JAF 1.2 RI and TCK will be available under the same terms as the
+JAF 1.1 RI and TCK.
+
+
+===================================================================
+
+1. JDK 9 moves config files to <java.home>/conf (JDK-8049379)
+----------------------------------------------------------------
+
+The specification for MailcapCommandMap is changed as follows:
+
+ * <b>Mailcap file search order:</b><p>
+ * The MailcapCommandMap looks in various places in the user's
+ * system for mailcap file entries. When requests are made
+ * to search for commands in the MailcapCommandMap, it searches
+ * mailcap files in the following order:
+ * <p>
+ * <ol>
+ * <li> Programatically added entries to the MailcapCommandMap instance.
+ * <li> The file <code>.mailcap</code> in the user's home directory.
+ * <li> The file <code>mailcap</code> in the Java runtime.
+ * <li> The file or resources named <code>META-INF/mailcap</code>.
+ * <li> The file or resource named <code>META-INF/mailcap.default</code>
+ * (usually found only in the <code>activation.jar</code> file).
+ * </ol>
+ * <p>
+ * (The current implementation looks for the <code>mailcap</code> file
+ * in the Java runtime in the directory <code><i>java.home</i>/conf</code>
+ * if it exists, and otherwise in the directory
+ * <code><i>java.home</i>/lib</code>, where <i>java.home</i> is the value
+ * of the "java.home" System property. Note that the "conf" directory was
+ * introduced in JDK 9.)
+
+
+The specification for MimetypesFileTypeMap is changed as follows:
+
+ * <b>MIME types file search order:</b><p>
+ * The MimetypesFileTypeMap looks in various places in the user's
+ * system for MIME types file entries. When requests are made
+ * to search for MIME types in the MimetypesFileTypeMap, it searches
+ * MIME types files in the following order:
+ * <ol>
+ * <li> Programmatically added entries to the MimetypesFileTypeMap instance.
+ * <li> The file <code>.mime.types</code> in the user's home directory.
+ * <li> The file <code>mime.types</code> in the Java runtime.
+ * <li> The file or resources named <code>META-INF/mime.types</code>.
+ * <li> The file or resource named <code>META-INF/mimetypes.default</code>
+ * (usually found only in the <code>activation.jar</code> file).
+ * </ol>
+ * <p>
+ * (The current implementation looks for the <code>mime.types</code> file
+ * in the Java runtime in the directory <code><i>java.home</i>/conf</code>
+ * if it exists, and otherwise in the directory
+ * <code><i>java.home</i>/lib</code>, where <i>java.home</i> is the value
+ * of the "java.home" System property. Note that the "conf" directory was
+ * introduced in JDK 9.)
+
+
+===================================================================
+
+2. Remove JAF's API dependency on java.beans.Beans.instantiate (JDK-804773)
+----------------------------------------------------------------------------
+
+To allow custom runtimes to be created without the java.desktop module,
+the getCommandObject method of CommandInfo is changed to make the use
+of java.beans.Beans.instantiate conditional:
+
+ /**
+ * Return the instantiated JavaBean component.
+ * <p>
+ * If the current runtime environment supports
+ * {@link java.beans.Beans#instantiate Beans.instantiate},
+ * use it to instantiate the JavaBeans component. Otherwise, use
+ * {@link java.lang.Class#forName Class.forName}.
+ * <p>
+ * The component class needs to be public.
+ * On Java SE 9 and newer, if the component class is in a named module,
+ * it needs to be in an exported package.
+ ...