diff --git a/javadoc/allclasses-frame.html b/javadoc/allclasses-frame.html
index 5ae947a..d58727d 100644
--- a/javadoc/allclasses-frame.html
+++ b/javadoc/allclasses-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 All Classes (dexmaker)
 </TITLE>
diff --git a/javadoc/allclasses-noframe.html b/javadoc/allclasses-noframe.html
index d6ed9d0..095de32 100644
--- a/javadoc/allclasses-noframe.html
+++ b/javadoc/allclasses-noframe.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 All Classes (dexmaker)
 </TITLE>
diff --git a/javadoc/com/google/dexmaker/BinaryOp.html b/javadoc/com/google/dexmaker/BinaryOp.html
index cf51d22..444dffa 100644
--- a/javadoc/com/google/dexmaker/BinaryOp.html
+++ b/javadoc/com/google/dexmaker/BinaryOp.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:30 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 BinaryOp (dexmaker)
 </TITLE>
diff --git a/javadoc/com/google/dexmaker/Code.html b/javadoc/com/google/dexmaker/Code.html
index 5fb53ab..d1064c7 100644
--- a/javadoc/com/google/dexmaker/Code.html
+++ b/javadoc/com/google/dexmaker/Code.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:30 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 Code (dexmaker)
 </TITLE>
diff --git a/javadoc/com/google/dexmaker/Comparison.html b/javadoc/com/google/dexmaker/Comparison.html
index 96a651d..0ea5c44 100644
--- a/javadoc/com/google/dexmaker/Comparison.html
+++ b/javadoc/com/google/dexmaker/Comparison.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:30 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 Comparison (dexmaker)
 </TITLE>
diff --git a/javadoc/com/google/dexmaker/DexMaker.html b/javadoc/com/google/dexmaker/DexMaker.html
index ed40733..b1ef40d 100644
--- a/javadoc/com/google/dexmaker/DexMaker.html
+++ b/javadoc/com/google/dexmaker/DexMaker.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:30 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 DexMaker (dexmaker)
 </TITLE>
@@ -120,7 +120,7 @@
 
  <h3>Example: Fibonacci</h3>
  To illustrate how this API is used, we'll use DexMaker to generate a class
- equivalent to the following Java source: <pre>   <code>package com.publicobject.fib;
+ equivalent to the following Java source: <pre> <code>package com.publicobject.fib;
 
  public class Fibonacci {
    public static int fib(int i) {
@@ -163,21 +163,20 @@
    return i;
  </code></pre>
 
- <p>We lookup the <code>MethodId</code> for the method on the declaring type. This
- takes the method's return type (possibly <A HREF="../../../com/google/dexmaker/TypeId.html#VOID"><CODE>TypeId.VOID</CODE></A>), its name, and
- its parameters. Next we declare the method, specifying its modifiers by ORing
- constants from <CODE>Modifier</CODE>. The declare call returns a
- <A HREF="../../../com/google/dexmaker/Code.html" title="class in com.google.dexmaker"><CODE>Code</CODE></A> object, which we'll use to define the method's instructions.
- <pre>   <code>MethodId&lt;?, Integer&gt; fib = fibonacci.getMethod(TypeId.INT, "fib", TypeId.INT);
+ <p>We look up the <code>MethodId</code> for the method on the declaring type. This
+ takes the method's return type (possibly <A HREF="../../../com/google/dexmaker/TypeId.html#VOID"><CODE>TypeId.VOID</CODE></A>), its name and
+ its parameters types. Next we declare the method, specifying its modifiers by
+ bitwise ORing constants from <CODE>Modifier</CODE>. The declare
+ call returns a <A HREF="../../../com/google/dexmaker/Code.html" title="class in com.google.dexmaker"><CODE>Code</CODE></A> object, which we'll use to define the method's
+ instructions. <pre>   <code>MethodId&lt;?, Integer&gt; fib = fibonacci.getMethod(TypeId.INT, "fib", TypeId.INT);
    Code code = dexMaker.declare(fib, Modifier.PUBLIC | Modifier.STATIC);
  </code></pre>
 
  <p>One limitation of <code>DexMaker</code>'s API is that it requires all local
- variables to be created before any instructions are emitted. Use <A HREF="../../../com/google/dexmaker/Code.html#newLocal(com.google.dexmaker.TypeId)"><CODE>Code.newLocal(com.google.dexmaker.TypeId<T>)</CODE></A> to create a new local variable. The method's parameters are
- exposed as locals using <A HREF="../../../com/google/dexmaker/Code.html#getParameter(int, com.google.dexmaker.TypeId)"><CODE>Code.getParameter(int, com.google.dexmaker.TypeId<T>)</CODE></A>. For non-static methods the
- 'this' pointer is exposed using <A HREF="../../../com/google/dexmaker/Code.html#getThis(com.google.dexmaker.TypeId)"><CODE>Code.getThis(com.google.dexmaker.TypeId<T>)</CODE></A>. Here we declare all of
- the local variables that we'll need for our <code>fib()</code> method:
- <pre>   <code>Local&lt;Integer&gt; i = code.getParameter(0, TypeId.INT);
+ variables to be created before any instructions are emitted. Use <A HREF="../../../com/google/dexmaker/Code.html#newLocal(com.google.dexmaker.TypeId)"><CODE>newLocal()</CODE></A> to create a new local variable. The method's
+ parameters are exposed as locals using <A HREF="../../../com/google/dexmaker/Code.html#getParameter(int, com.google.dexmaker.TypeId)"><CODE>getParameter()</CODE></A>. For non-static methods the <code>this</code> pointer is exposed
+ using <A HREF="../../../com/google/dexmaker/Code.html#getThis(com.google.dexmaker.TypeId)"><CODE>getThis()</CODE></A>. Here we declare all of the local
+ variables that we'll need for our <code>fib()</code> method: <pre>   <code>Local&lt;Integer&gt; i = code.getParameter(0, TypeId.INT);
    Local&lt;Integer&gt; constant1 = code.newLocal(TypeId.INT);
    Local&lt;Integer&gt; constant2 = code.newLocal(TypeId.INT);
    Local&lt;Integer&gt; a = code.newLocal(TypeId.INT);
@@ -187,11 +186,12 @@
    Local&lt;Integer&gt; result = code.newLocal(TypeId.INT);
  </code></pre>
 
- <p>Notice that <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker"><CODE>Local</CODE></A> has a type parameter. This is useful for
- generating code that works with existing types like <code>String</code> and <code>Integer</code>, but it can be a hindrance when generating code that involves new
- types. For this reason you may prefer to use raw types only and add
- <code>@SuppressWarnings("unsafe")</code> on your calling code. This will yield the
- same result but you won't get a compiler warning if you make a type error.
+ <p>Notice that <A HREF="../../../com/google/dexmaker/Local.html" title="class in com.google.dexmaker"><CODE>Local</CODE></A> has a type parameter of <code>Integer</code>. This is
+ useful for generating code that works with existing types like <code>String</code>
+ and <code>Integer</code>, but it can be a hindrance when generating code that
+ involves new types. For this reason you may prefer to use raw types only and
+ add <code>@SuppressWarnings("unsafe")</code> on your calling code. This will yield
+ the same result but you won't get IDE support if you make a type error.
 
  <p>We're ready to start defining our method's instructions: <pre>   <code>code.loadConstant(constant1, 1);
    code.loadConstant(constant2, 2);
@@ -207,8 +207,8 @@
    code.returnValue(i);
  </code></pre>
 
- <p>We're done defining the instructions! We just need to write the dex to the
- file system or load it into the current process. For this example we'll load
+ <p>We're done defining the dex file. We just need to write it to the
+ filesystem or load it into the current process. For this example we'll load
  the generated code into the current process. This only works when the current
  process is running on Android. We use <A HREF="../../../com/google/dexmaker/DexMaker.html#generateAndLoad(java.lang.ClassLoader, java.io.File)"><CODE>generateAndLoad(java.lang.ClassLoader, java.io.File)</CODE></A> which takes
  the class loader that will be used as our generated code's parent class
diff --git a/javadoc/com/google/dexmaker/FieldId.html b/javadoc/com/google/dexmaker/FieldId.html
index d7af1ac..cf03d16 100644
--- a/javadoc/com/google/dexmaker/FieldId.html
+++ b/javadoc/com/google/dexmaker/FieldId.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 FieldId (dexmaker)
 </TITLE>
diff --git a/javadoc/com/google/dexmaker/Label.html b/javadoc/com/google/dexmaker/Label.html
index bbc1b66..645319e 100644
--- a/javadoc/com/google/dexmaker/Label.html
+++ b/javadoc/com/google/dexmaker/Label.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 Label (dexmaker)
 </TITLE>
diff --git a/javadoc/com/google/dexmaker/Local.html b/javadoc/com/google/dexmaker/Local.html
index 752acc0..2432c16 100644
--- a/javadoc/com/google/dexmaker/Local.html
+++ b/javadoc/com/google/dexmaker/Local.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 Local (dexmaker)
 </TITLE>
diff --git a/javadoc/com/google/dexmaker/MethodId.html b/javadoc/com/google/dexmaker/MethodId.html
index 7cc028b..f1117ba 100644
--- a/javadoc/com/google/dexmaker/MethodId.html
+++ b/javadoc/com/google/dexmaker/MethodId.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 MethodId (dexmaker)
 </TITLE>
diff --git a/javadoc/com/google/dexmaker/TypeId.html b/javadoc/com/google/dexmaker/TypeId.html
index 6e1f8b1..238adc1 100644
--- a/javadoc/com/google/dexmaker/TypeId.html
+++ b/javadoc/com/google/dexmaker/TypeId.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 TypeId (dexmaker)
 </TITLE>
diff --git a/javadoc/com/google/dexmaker/package-frame.html b/javadoc/com/google/dexmaker/package-frame.html
index 9a353ef..7a7a310 100644
--- a/javadoc/com/google/dexmaker/package-frame.html
+++ b/javadoc/com/google/dexmaker/package-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 com.google.dexmaker (dexmaker)
 </TITLE>
diff --git a/javadoc/com/google/dexmaker/package-summary.html b/javadoc/com/google/dexmaker/package-summary.html
index 66b3f43..b8a2202 100644
--- a/javadoc/com/google/dexmaker/package-summary.html
+++ b/javadoc/com/google/dexmaker/package-summary.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 com.google.dexmaker (dexmaker)
 </TITLE>
diff --git a/javadoc/com/google/dexmaker/package-tree.html b/javadoc/com/google/dexmaker/package-tree.html
index 6dc5411..3007dc8 100644
--- a/javadoc/com/google/dexmaker/package-tree.html
+++ b/javadoc/com/google/dexmaker/package-tree.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 com.google.dexmaker Class Hierarchy (dexmaker)
 </TITLE>
diff --git a/javadoc/com/google/dexmaker/stock/ProxyBuilder.html b/javadoc/com/google/dexmaker/stock/ProxyBuilder.html
index c0f49a8..485d0df 100644
--- a/javadoc/com/google/dexmaker/stock/ProxyBuilder.html
+++ b/javadoc/com/google/dexmaker/stock/ProxyBuilder.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 ProxyBuilder (dexmaker)
 </TITLE>
diff --git a/javadoc/com/google/dexmaker/stock/package-frame.html b/javadoc/com/google/dexmaker/stock/package-frame.html
index 97596f1..26c5c81 100644
--- a/javadoc/com/google/dexmaker/stock/package-frame.html
+++ b/javadoc/com/google/dexmaker/stock/package-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 com.google.dexmaker.stock (dexmaker)
 </TITLE>
diff --git a/javadoc/com/google/dexmaker/stock/package-summary.html b/javadoc/com/google/dexmaker/stock/package-summary.html
index 948a914..9ae82c4 100644
--- a/javadoc/com/google/dexmaker/stock/package-summary.html
+++ b/javadoc/com/google/dexmaker/stock/package-summary.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 com.google.dexmaker.stock (dexmaker)
 </TITLE>
diff --git a/javadoc/com/google/dexmaker/stock/package-tree.html b/javadoc/com/google/dexmaker/stock/package-tree.html
index c808ad1..063d6aa 100644
--- a/javadoc/com/google/dexmaker/stock/package-tree.html
+++ b/javadoc/com/google/dexmaker/stock/package-tree.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 com.google.dexmaker.stock Class Hierarchy (dexmaker)
 </TITLE>
diff --git a/javadoc/constant-values.html b/javadoc/constant-values.html
index 37107a7..c051bce 100644
--- a/javadoc/constant-values.html
+++ b/javadoc/constant-values.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 Constant Field Values (dexmaker)
 </TITLE>
diff --git a/javadoc/deprecated-list.html b/javadoc/deprecated-list.html
index b8572bc..cf2c56b 100644
--- a/javadoc/deprecated-list.html
+++ b/javadoc/deprecated-list.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 Deprecated List (dexmaker)
 </TITLE>
diff --git a/javadoc/help-doc.html b/javadoc/help-doc.html
index c707af3..de69d71 100644
--- a/javadoc/help-doc.html
+++ b/javadoc/help-doc.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 API Help (dexmaker)
 </TITLE>
diff --git a/javadoc/index-all.html b/javadoc/index-all.html
index d86d815..abc405b 100644
--- a/javadoc/index-all.html
+++ b/javadoc/index-all.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 Index (dexmaker)
 </TITLE>
diff --git a/javadoc/index.html b/javadoc/index.html
index e617bd8..8247bc4 100644
--- a/javadoc/index.html
+++ b/javadoc/index.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc on Fri Jan 06 14:58:31 EST 2012-->
+<!-- Generated by javadoc on Fri Jan 06 15:06:28 EST 2012-->
 <TITLE>
 dexmaker
 </TITLE>
diff --git a/javadoc/overview-frame.html b/javadoc/overview-frame.html
index 2eb23ce..7ee76a4 100644
--- a/javadoc/overview-frame.html
+++ b/javadoc/overview-frame.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 Overview List (dexmaker)
 </TITLE>
diff --git a/javadoc/overview-summary.html b/javadoc/overview-summary.html
index 8cd5542..dd0c814 100644
--- a/javadoc/overview-summary.html
+++ b/javadoc/overview-summary.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 Overview (dexmaker)
 </TITLE>
diff --git a/javadoc/overview-tree.html b/javadoc/overview-tree.html
index a5fb480..b71bebd 100644
--- a/javadoc/overview-tree.html
+++ b/javadoc/overview-tree.html
@@ -2,7 +2,7 @@
 <!--NewPage-->
 <HTML>
 <HEAD>
-<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 14:58:31 EST 2012 -->
+<!-- Generated by javadoc (build 1.6.0_26) on Fri Jan 06 15:06:28 EST 2012 -->
 <TITLE>
 Class Hierarchy (dexmaker)
 </TITLE>
diff --git a/src/main/java/com/google/dexmaker/DexMaker.java b/src/main/java/com/google/dexmaker/DexMaker.java
index d635465..f931df8 100644
--- a/src/main/java/com/google/dexmaker/DexMaker.java
+++ b/src/main/java/com/google/dexmaker/DexMaker.java
@@ -64,7 +64,7 @@
  *
  * <h3>Example: Fibonacci</h3>
  * To illustrate how this API is used, we'll use DexMaker to generate a class
- * equivalent to the following Java source: <pre>   {@code
+ * equivalent to the following Java source: <pre> {@code
  *
  * package com.publicobject.fib;
  *
@@ -117,12 +117,12 @@
  *   return i;
  * }</pre>
  *
- * <p>We lookup the {@code MethodId} for the method on the declaring type. This
- * takes the method's return type (possibly {@link TypeId#VOID}), its name, and
- * its parameters. Next we declare the method, specifying its modifiers by ORing
- * constants from {@link java.lang.reflect.Modifier}. The declare call returns a
- * {@link Code} object, which we'll use to define the method's instructions.
- * <pre>   {@code
+ * <p>We look up the {@code MethodId} for the method on the declaring type. This
+ * takes the method's return type (possibly {@link TypeId#VOID}), its name and
+ * its parameters types. Next we declare the method, specifying its modifiers by
+ * bitwise ORing constants from {@link java.lang.reflect.Modifier}. The declare
+ * call returns a {@link Code} object, which we'll use to define the method's
+ * instructions. <pre>   {@code
  *
  *   MethodId<?, Integer> fib = fibonacci.getMethod(TypeId.INT, "fib", TypeId.INT);
  *   Code code = dexMaker.declare(fib, Modifier.PUBLIC | Modifier.STATIC);
@@ -130,11 +130,11 @@
  *
  * <p>One limitation of {@code DexMaker}'s API is that it requires all local
  * variables to be created before any instructions are emitted. Use {@link
- * Code#newLocal} to create a new local variable. The method's parameters are
- * exposed as locals using {@link Code#getParameter}. For non-static methods the
- * 'this' pointer is exposed using {@link Code#getThis}. Here we declare all of
- * the local variables that we'll need for our {@code fib()} method:
- * <pre>   {@code
+ * Code#newLocal newLocal()} to create a new local variable. The method's
+ * parameters are exposed as locals using {@link Code#getParameter
+ * getParameter()}. For non-static methods the {@code this} pointer is exposed
+ * using {@link Code#getThis getThis()}. Here we declare all of the local
+ * variables that we'll need for our {@code fib()} method: <pre>   {@code
  *
  *   Local<Integer> i = code.getParameter(0, TypeId.INT);
  *   Local<Integer> constant1 = code.newLocal(TypeId.INT);
@@ -146,12 +146,12 @@
  *   Local<Integer> result = code.newLocal(TypeId.INT);
  * }</pre>
  *
- * <p>Notice that {@link Local} has a type parameter. This is useful for
- * generating code that works with existing types like {@code String} and {@code
- * Integer}, but it can be a hindrance when generating code that involves new
- * types. For this reason you may prefer to use raw types only and add
- * {@code @SuppressWarnings("unsafe")} on your calling code. This will yield the
- * same result but you won't get a compiler warning if you make a type error.
+ * <p>Notice that {@link Local} has a type parameter of {@code Integer}. This is
+ * useful for generating code that works with existing types like {@code String}
+ * and {@code Integer}, but it can be a hindrance when generating code that
+ * involves new types. For this reason you may prefer to use raw types only and
+ * add {@code @SuppressWarnings("unsafe")} on your calling code. This will yield
+ * the same result but you won't get IDE support if you make a type error.
  *
  * <p>We're ready to start defining our method's instructions: <pre>   {@code
  *
@@ -169,8 +169,8 @@
  *   code.returnValue(i);
  * }</pre>
  *
- * <p>We're done defining the instructions! We just need to write the dex to the
- * file system or load it into the current process. For this example we'll load
+ * <p>We're done defining the dex file. We just need to write it to the
+ * filesystem or load it into the current process. For this example we'll load
  * the generated code into the current process. This only works when the current
  * process is running on Android. We use {@link #generateAndLoad} which takes
  * the class loader that will be used as our generated code's parent class
