Index: java/net/deterlab/abac/Context.java
===================================================================
--- java/net/deterlab/abac/Context.java	(revision e9b0027715fd953346ebb636704d032e75726a30)
+++ java/net/deterlab/abac/Context.java	(revision fe576ebf0862266d7920984dbd882692f369ec0f)
@@ -496,4 +496,6 @@
      * Add a derived edge in the graph. Returns true only if the edge does not
      * exist.
+     * @param head the head of the link to add
+     * @param tail the tail of the link to add
      * @return a boolean, true if an edge has been added
      */
@@ -559,4 +561,7 @@
      * way to reliably tell how big the entry is, so we have to rely on a
      * simple expanding array read of the bytes.
+     * @param z the stream to operate on
+     * @return the raw data bytes
+     * @throws IOException if reading fails
      */
     protected byte[] readCurrentZipEntry(ZipInputStream z) throws IOException {
@@ -797,6 +802,4 @@
      * @param keys a Collection into which to insert unmatched keys
      * @param errors a Map from entry name to generated exception
-     * @throws IOException if the file is unreadable.  Per file exceptions are
-     *			   returned in the errors parameter.
      */
     public void load_directory(File d, Collection<KeyPair> keys, 
@@ -872,6 +875,4 @@
      * Equivalent to load_directory(d, null, null).
      * @param d the File to read.  If it is a directory its contents are read
-     * @throws IOException if the file is unreadable.  To see per-file 
-     *                     exceptions use a signature with the errors parameter.
      */
     public void load_directory(File d) {
@@ -882,6 +883,4 @@
      * @param d the File to read.  If it is a directory its contents are read
      * @param errors a Map from entry name to generated exception
-     * @throws IOException if the file is unreadable.  Per file exceptions are
-     *			   returned in the errors parameter.
      */
     public void load_directory(File d, Map<String, Exception> errors) {
@@ -892,6 +891,4 @@
      * @param d the File to read.  If it is a directory its contents are read
      * @param keys a Collection into which to insert unmatched keys
-     * @throws IOException if the file is unreadable.  To see per-file 
-     *                     exceptions use a signature with the errors parameter.
      */
     public void load_directory(File d, Collection<KeyPair> keys) {
@@ -901,8 +898,8 @@
     /**
      * Load from a simple rt0 text format.  A jabac extension.  The format is
-     * <br/>
-     * # comments<br/>
-     * role &lt;- role<br/>
-     * <br/>
+     * <pre>
+     * # comments
+     * role &lt;- role
+     * </pre>
      *
      * Spaces are not significant around the arrow and the tail can be as long
@@ -1000,7 +997,7 @@
      * Write to a simple rt0 text format.  A jabac extension.
      * The format is
-     * <br/>
-     * role &lt;- role<br/>
-     * <br/>
+     * <pre>
+     * role &lt;- role
+     * </pre>
      *
      * @param w a Writer to print on
Index: java/net/deterlab/abac/Credential.java
===================================================================
--- java/net/deterlab/abac/Credential.java	(revision e9b0027715fd953346ebb636704d032e75726a30)
+++ java/net/deterlab/abac/Credential.java	(revision fe576ebf0862266d7920984dbd882692f369ec0f)
@@ -195,4 +195,5 @@
     /**
      * Get the expiration Date of the credential.
+     * @return the expiration as a Date
      */
     public Date expiration() { return m_expiration; }
@@ -234,5 +235,5 @@
      */
     public abstract void write(String fn) 
-	throws IOException, FileNotFoundException;
+	throws IOException;
 
     /**
Index: java/net/deterlab/abac/GENICredential.java
===================================================================
--- java/net/deterlab/abac/GENICredential.java	(revision e9b0027715fd953346ebb636704d032e75726a30)
+++ java/net/deterlab/abac/GENICredential.java	(revision fe576ebf0862266d7920984dbd882692f369ec0f)
@@ -541,7 +541,6 @@
      * @param fn a String, the file name on which to write
      * @throws IOException if there is an error writing.
-     * @throws FileNotFoundExeption if the file path is bogus
-     */
-    public void write(String fn) throws IOException, FileNotFoundException {
+     */
+    public void write(String fn) throws IOException {
 	write(new FileOutputStream(fn));
     }
Index: java/net/deterlab/abac/GENICredentialv1_1.java
===================================================================
--- java/net/deterlab/abac/GENICredentialv1_1.java	(revision e9b0027715fd953346ebb636704d032e75726a30)
+++ java/net/deterlab/abac/GENICredentialv1_1.java	(revision fe576ebf0862266d7920984dbd882692f369ec0f)
@@ -60,4 +60,6 @@
      * @param head the Role at the head of the credential
      * @param tail the Role at the tail of the credential
+     * @param km a KeyIDmap used to map nicknames to actual roles if one is
+     *		already in use.
      */
     public GENICredentialv1_1(Role head, Role tail, KeyIDMap km) {
Index: java/net/deterlab/abac/GENIPrivCredential.java
===================================================================
--- java/net/deterlab/abac/GENIPrivCredential.java	(revision e9b0027715fd953346ebb636704d032e75726a30)
+++ java/net/deterlab/abac/GENIPrivCredential.java	(revision fe576ebf0862266d7920984dbd882692f369ec0f)
@@ -51,4 +51,7 @@
      * @param head the Role at the head of the credential
      * @param tail the Role at the tail of the credential
+     * @param d an XML document actually ignored.
+     * @param i an identity that's actually ignored
+     * @param e the expiration of this credential
      */
     public GENIPrivCredential(Role head, Role tail, Document d, Identity i,
@@ -126,4 +129,5 @@
 	 * @return an array of GENIPrivCredentials that represent the
 	 * credential
+	 * @throws ABACException if XML creation fails
 	 */
 	protected Credential[] make_creds(Document d, Identity issuer) 
Index: java/net/deterlab/abac/Identity.java
===================================================================
--- java/net/deterlab/abac/Identity.java	(revision e9b0027715fd953346ebb636704d032e75726a30)
+++ java/net/deterlab/abac/Identity.java	(revision fe576ebf0862266d7920984dbd882692f369ec0f)
@@ -291,7 +291,9 @@
     /**
      * Write the PEM key to a file with the given name.
-     */
-    public boolean writePrivateKey(String fn) 
-	    throws IOException, FileNotFoundException {
+     * @param fn a file name to write to
+     * @return true if the Identity had a keypair and wrote the key
+     * @throws IOException if writing fails (including bad file name)
+     */
+    public boolean writePrivateKey(String fn) throws IOException {
 	return writePrivateKey(new FileWriter(fn));
     }
@@ -301,8 +303,7 @@
      * @param fn a String with the output file name
      * @return true if the Identity had a keypair and wrote the key
-     * @throws IOException if writing fails
-     */
-    public boolean writePrivateKey(File fn) 
-	    throws IOException, FileNotFoundException {
+     * @throws IOException if writing fails (including bad file name)
+     */
+    public boolean writePrivateKey(File fn) throws IOException {
 	return writePrivateKey(new FileWriter(fn));
     }
@@ -312,8 +313,7 @@
      * @param s an OutputStream to write on
      * @return true if the Identity had a keypair and wrote the key
-     * @throws IOException if writing fails
-     */
-    public boolean writePrivateKey(OutputStream s) 
-	    throws IOException, FileNotFoundException {
+     * @throws IOException if writing fails (including bad file name)
+     */
+    public boolean writePrivateKey(OutputStream s) throws IOException {
 	return writePrivateKey(new OutputStreamWriter(s));
     }
@@ -334,6 +334,8 @@
     /**
      * Write the PEM cert to a file with the given name.
-     */
-    public void write(String fn) throws IOException, FileNotFoundException {
+     * @param fn a file name to write to
+     * @throws IOException if writing fails (including bad file name)
+     */
+    public void write(String fn) throws IOException {
 	write(new FileWriter(fn));
     }
@@ -344,5 +346,5 @@
      * @throws IOException if writing fails
      */
-    public void write(File fn) throws IOException, FileNotFoundException {
+    public void write(File fn) throws IOException {
 	write(new FileWriter(fn));
     }
@@ -353,6 +355,5 @@
      * @throws IOException if writing fails
      */
-    public void write(OutputStream s) 
-	throws IOException, FileNotFoundException {
+    public void write(OutputStream s) throws IOException {
 	write(new OutputStreamWriter(s));
     }
Index: java/net/deterlab/abac/KeyIDMap.java
===================================================================
--- java/net/deterlab/abac/KeyIDMap.java	(revision e9b0027715fd953346ebb636704d032e75726a30)
+++ java/net/deterlab/abac/KeyIDMap.java	(revision fe576ebf0862266d7920984dbd882692f369ec0f)
@@ -73,4 +73,5 @@
     /**
      * Return the nickname of this keyid, if any.
+     * @param keyid the keyID to look up
      * @return the nickname of this keyid, or null if it is unknown.
      */
@@ -81,4 +82,5 @@
     /**
      * Return the keyis of this nickname, if any.
+     * @param nick the nickname to look up
      * @return the keyid of this nickname, or null if it is unknown.
      */
Index: java/net/deterlab/abac/Query.java
===================================================================
--- java/net/deterlab/abac/Query.java	(revision e9b0027715fd953346ebb636704d032e75726a30)
+++ java/net/deterlab/abac/Query.java	(revision fe576ebf0862266d7920984dbd882692f369ec0f)
@@ -149,5 +149,5 @@
 	 * Return a collection of outgoing edges under the search direction's
 	 * interpretation.
-	 * @param g the Graph<V, E> being traversed
+	 * @param g the Graph&lt;V, E&gt; being traversed
 	 * @param v a V, the vertex from which the edges come
 	 * @return a collection of outgoing edges under the search direction's
@@ -158,5 +158,5 @@
 	 * Return a collection of incoming edges under the search direction's
 	 * interpretation.
-	 * @param g the Graph<V, E> being traversed
+	 * @param g the Graph&lt;V, E&gt; being traversed
 	 * @param v a V, the vertex into which the edges come
 	 * @return a collection of outgoing edges under the search direction's
@@ -167,5 +167,5 @@
 	 * Return the source of this edge under the search direction's
 	 * interpretation.
-	 * @param g the Graph<V, E> being traversed
+	 * @param g the Graph&lt;V, E&gt; being traversed
 	 * @param e an E, the edge being considered
 	 * @return the source of this edge under the search direction's
@@ -176,5 +176,5 @@
 	 * Return the destination of this edge under the search direction's
 	 * interpretation.
-	 * @param g the Graph<V, E> being traversed
+	 * @param g the Graph&lt;V, E&gt; being traversed
 	 * @param e an E, the edge being considered
 	 * @return the destination of this edge under the search direction's
@@ -196,5 +196,5 @@
 	 * Return a collection of outgoing edges; outgoing is defined by the
 	 * graph.
-	 * @param g the Graph<V, E> being traversed
+	 * @param g the Graph&lt;V, E&gt; being traversed
 	 * @param v a V, the vertex from which the edges come
 	 * @return a collection of outgoing edges
@@ -206,5 +206,5 @@
 	 * Return a collection of incoming edges; incoming is defined by the
 	 * graph.
-	 * @param g the Graph<V, E> being traversed
+	 * @param g the Graph&lt;V, E&gt; being traversed
 	 * @param v a V, the vertex into which the edges come
 	 * @return a collection of outgoing edges
@@ -215,5 +215,5 @@
 	/**
 	 * Return the source of this edge as defined by the underlying graph.
-	 * @param g the Graph<V, E> being traversed
+	 * @param g the Graph&lt;V, E&gt; being traversed
 	 * @param e an E, the edge being considered
 	 * @return the source of this edge 
@@ -225,5 +225,5 @@
 	 * Return the destination of this edge as defined by the underlying
 	 * graph.
-	 * @param g the Graph<V, E> being traversed
+	 * @param g the Graph&lt;V, E&gt; being traversed
 	 * @param e an E, the edge being considered
 	 * @return the destination of this edge 
@@ -246,5 +246,5 @@
 	 * Return a collection of outgoing edges; outgoing is reversed with
 	 * respect to the graph.
-	 * @param g the Graph<V, E> being traversed
+	 * @param g the Graph&lt;V, E&gt; being traversed
 	 * @param v a V, the vertex from which the edges come
 	 * @return a collection of outgoing edges
@@ -256,5 +256,5 @@
 	 * Return a collection of incoming edges; incoming is reversed with
 	 * respect to the graph.
-	 * @param g the Graph<V, E> being traversed
+	 * @param g the Graph&lt;V, E&gt; being traversed
 	 * @param v a V, the vertex into which the edges come
 	 * @return a collection of outgoing edges
@@ -266,5 +266,5 @@
 	 * Return the source of this edge in the reverse of the underlying
 	 * graph.
-	 * @param g the Graph<V, E> being traversed
+	 * @param g the Graph&lt;V, E&gt; being traversed
 	 * @param e an E, the edge being considered
 	 * @return the source of this edge 
@@ -276,5 +276,5 @@
 	 * Return the destination of this edge in the reverse of the underlying
 	 * graph.
-	 * @param g the Graph<V, E> being traversed
+	 * @param g the Graph&lt;V, E&gt; being traversed
 	 * @param e an E, the edge being considered
 	 * @return the destination of this edge 
@@ -323,7 +323,7 @@
      * @param src the Role to start the search from 
      * @param dest the Role to find a path to
-     * @param path a Graph<Role, Credential> in which the result path is
+     * @param path a Graph&lt;Role, Credential&gt; in which the result path is
      * returned
-     * @param dir a bfsSearchDirection<Role, Credential> that defines direction
+     * @param dir a bfsSearchDirection&lt;Role, Credential&gt; that defines direction
      * of search and side effects
      * @return true if the path is found
