Added updated 4.0 api diffs.
diff --git a/latest-api-diffs/4.0.xml b/latest-api-diffs/4.0.xml
index a73941b..1b1e7d2 100644
--- a/latest-api-diffs/4.0.xml
+++ b/latest-api-diffs/4.0.xml
@@ -1,275 +1,275 @@
-<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>

-<!-- Generated by the JDiff Javadoc doclet -->

-<!-- (http://www.jdiff.org) -->

-<!-- on Sat Dec 07 13:50:43 EST 2013 -->

-

-<api

-  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'

-  xsi:noNamespaceSchemaLocation='api.xsd'

-  name="4.0"

-  jdversion="1.1.1">

-

-<!--  Command line arguments =  -doclet jdiff.JDiff -docletpath C:\Documents and Settings\Sam Berlin\git\google-guice\lib\build\jdiff\jdiff.jar;C:\Documents and Settings\Sam Berlin\git\google-guice\lib\build\jdiff\xerces.jar -classpath C:\Documents and Settings\Sam Berlin\git\google-guice\lib\javax.inject.jar;C:\Documents and Settings\Sam Berlin\git\google-guice\lib\aopalliance.jar -apidir build/docs/latest-api-diffs -apiname 4.0 -->

-<package name="com.google.inject">

-  <!-- start class com.google.inject.AbstractModule -->

-  <class name="AbstractModule" extends="java.lang.Object"

-    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.Module"/>

-    <constructor name="AbstractModule"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="configure"

-      abstract="false" native="false" synchronized="true"

-      static="false" final="true" visibility="public"

-      deprecated="not deprecated">

-      <param name="builder" type="com.google.inject.Binder"/>

-    </method>

-    <method name="configure"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Configures a {@link Binder} via the exposed methods.]]>

-      </doc>

-    </method>

-    <method name="binder" return="com.google.inject.Binder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Gets direct access to the underlying {@code Binder}.]]>

-      </doc>

-    </method>

-    <method name="bindScope"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="scopeAnnotation" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <param name="scope" type="com.google.inject.Scope"/>

-      <doc>

-      <![CDATA[@see Binder#bindScope(Class, Scope)]]>

-      </doc>

-    </method>

-    <method name="bind" return="com.google.inject.binder.LinkedBindingBuilder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>

-      <doc>

-      <![CDATA[@see Binder#bind(Key)]]>

-      </doc>

-    </method>

-    <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <doc>

-      <![CDATA[@see Binder#bind(TypeLiteral)]]>

-      </doc>

-    </method>

-    <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="clazz" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

-      <![CDATA[@see Binder#bind(Class)]]>

-      </doc>

-    </method>

-    <method name="bindConstant" return="com.google.inject.binder.AnnotatedConstantBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[@see Binder#bindConstant()]]>

-      </doc>

-    </method>

-    <method name="install"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="module" type="com.google.inject.Module"/>

-      <doc>

-      <![CDATA[@see Binder#install(Module)]]>

-      </doc>

-    </method>

-    <method name="addError"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="message" type="java.lang.String"/>

-      <param name="arguments" type="java.lang.Object[]"/>

-      <doc>

-      <![CDATA[@see Binder#addError(String, Object[])]]>

-      </doc>

-    </method>

-    <method name="addError"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="t" type="java.lang.Throwable"/>

-      <doc>

-      <![CDATA[@see Binder#addError(Throwable)]]>

-      </doc>

-    </method>

-    <method name="addError"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="message" type="com.google.inject.spi.Message"/>

-      <doc>

+<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<!-- on Thu Mar 20 20:36:47 PDT 2014 -->
+
+<api
+  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
+  xsi:noNamespaceSchemaLocation='api.xsd'
+  name="4.0"
+  jdversion="1.1.1">
+
+<!--  Command line arguments =  -doclet jdiff.JDiff -docletpath /Users/cgruber/OpenSource/guice/googlecode-master/lib/build/jdiff/jdiff.jar:/Users/cgruber/OpenSource/guice/googlecode-master/lib/build/jdiff/xerces.jar -classpath /Users/cgruber/OpenSource/guice/googlecode-master/lib/javax.inject.jar:/Users/cgruber/OpenSource/guice/googlecode-master/lib/aopalliance.jar:/Users/cgruber/OpenSource/guice/googlecode-master/lib/guava-16.0.1.jar -doclet jdiff.JDiff -docletpath /Users/cgruber/OpenSource/guice/googlecode-master/lib/build/jdiff/jdiff.jar:/Users/cgruber/OpenSource/guice/googlecode-master/lib/build/jdiff/xerces.jar -apidir build/docs/latest-api-diffs -apiname 4.0 -->
+<package name="com.google.inject">
+  <!-- start class com.google.inject.AbstractModule -->
+  <class name="AbstractModule" extends="java.lang.Object"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.Module"/>
+    <constructor name="AbstractModule"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="configure"
+      abstract="false" native="false" synchronized="true"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+      <param name="builder" type="com.google.inject.Binder"/>
+    </method>
+    <method name="configure"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Configures a {@link Binder} via the exposed methods.]]>
+      </doc>
+    </method>
+    <method name="binder" return="com.google.inject.Binder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Gets direct access to the underlying {@code Binder}.]]>
+      </doc>
+    </method>
+    <method name="bindScope"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="scopeAnnotation" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <param name="scope" type="com.google.inject.Scope"/>
+      <doc>
+      <![CDATA[@see Binder#bindScope(Class, Scope)]]>
+      </doc>
+    </method>
+    <method name="bind" return="com.google.inject.binder.LinkedBindingBuilder&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>
+      <doc>
+      <![CDATA[@see Binder#bind(Key)]]>
+      </doc>
+    </method>
+    <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <doc>
+      <![CDATA[@see Binder#bind(TypeLiteral)]]>
+      </doc>
+    </method>
+    <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="clazz" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
+      <![CDATA[@see Binder#bind(Class)]]>
+      </doc>
+    </method>
+    <method name="bindConstant" return="com.google.inject.binder.AnnotatedConstantBindingBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@see Binder#bindConstant()]]>
+      </doc>
+    </method>
+    <method name="install"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="module" type="com.google.inject.Module"/>
+      <doc>
+      <![CDATA[@see Binder#install(Module)]]>
+      </doc>
+    </method>
+    <method name="addError"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="message" type="java.lang.String"/>
+      <param name="arguments" type="java.lang.Object[]"/>
+      <doc>
+      <![CDATA[@see Binder#addError(String, Object[])]]>
+      </doc>
+    </method>
+    <method name="addError"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="t" type="java.lang.Throwable"/>
+      <doc>
+      <![CDATA[@see Binder#addError(Throwable)]]>
+      </doc>
+    </method>
+    <method name="addError"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="message" type="com.google.inject.spi.Message"/>
+      <doc>
       <![CDATA[@see Binder#addError(Message)
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="requestInjection"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="instance" type="java.lang.Object"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="requestInjection"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="instance" type="java.lang.Object"/>
+      <doc>
       <![CDATA[@see Binder#requestInjection(Object)
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="requestStaticInjection"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="types" type="java.lang.Class[]"/>

-      <doc>

-      <![CDATA[@see Binder#requestStaticInjection(Class[])]]>

-      </doc>

-    </method>

-    <method name="bindInterceptor"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="classMatcher" type="com.google.inject.matcher.Matcher&lt;? super java.lang.Class&lt;?&gt;&gt;"/>

-      <param name="methodMatcher" type="com.google.inject.matcher.Matcher&lt;? super java.lang.reflect.Method&gt;"/>

-      <param name="interceptors" type="org.aopalliance.intercept.MethodInterceptor[]"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="requestStaticInjection"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="types" type="java.lang.Class[]"/>
+      <doc>
+      <![CDATA[@see Binder#requestStaticInjection(Class[])]]>
+      </doc>
+    </method>
+    <method name="bindInterceptor"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="classMatcher" type="com.google.inject.matcher.Matcher&lt;? super java.lang.Class&lt;?&gt;&gt;"/>
+      <param name="methodMatcher" type="com.google.inject.matcher.Matcher&lt;? super java.lang.reflect.Method&gt;"/>
+      <param name="interceptors" type="org.aopalliance.intercept.MethodInterceptor[]"/>
+      <doc>
       <![CDATA[@see Binder#bindInterceptor(com.google.inject.matcher.Matcher,
   com.google.inject.matcher.Matcher,
-  org.aopalliance.intercept.MethodInterceptor[])]]>

-      </doc>

-    </method>

-    <method name="requireBinding"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>

-      <doc>

+  org.aopalliance.intercept.MethodInterceptor[])]]>
+      </doc>
+    </method>
+    <method name="requireBinding"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>
+      <doc>
       <![CDATA[Adds a dependency from this module to {@code key}. When the injector is
  created, Guice will report an error if {@code key} cannot be injected.
  Note that this requirement may be satisfied by implicit binding, such as
  a public no-arguments constructor.
 
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="requireBinding"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;?&gt;"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="requireBinding"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;?&gt;"/>
+      <doc>
       <![CDATA[Adds a dependency from this module to {@code type}. When the injector is
  created, Guice will report an error if {@code type} cannot be injected.
  Note that this requirement may be satisfied by implicit binding, such as
  a public no-arguments constructor.
 
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>
+      <doc>
       <![CDATA[@see Binder#getProvider(Key)
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
       <![CDATA[@see Binder#getProvider(Class)
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="convertToTypes"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="typeMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;"/>

-      <param name="converter" type="com.google.inject.spi.TypeConverter"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="convertToTypes"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="typeMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;"/>
+      <param name="converter" type="com.google.inject.spi.TypeConverter"/>
+      <doc>
       <![CDATA[@see Binder#convertToTypes
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="currentStage" return="com.google.inject.Stage"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="currentStage" return="com.google.inject.Stage"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[@see Binder#currentStage() 
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
       <![CDATA[@see Binder#getMembersInjector(Class)
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="type" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="type" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <doc>
       <![CDATA[@see Binder#getMembersInjector(TypeLiteral)
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="bindListener"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="typeMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;"/>

-      <param name="listener" type="com.google.inject.spi.TypeListener"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="bindListener"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="typeMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;"/>
+      <param name="listener" type="com.google.inject.spi.TypeListener"/>
+      <doc>
       <![CDATA[@see Binder#bindListener(com.google.inject.matcher.Matcher,
   com.google.inject.spi.TypeListener)
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="bindListener"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="bindingMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.Binding&lt;?&gt;&gt;"/>

-      <param name="listener" type="com.google.inject.spi.ProvisionListener[]"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="bindListener"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="bindingMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.Binding&lt;?&gt;&gt;"/>
+      <param name="listener" type="com.google.inject.spi.ProvisionListener[]"/>
+      <doc>
       <![CDATA[@see Binder#bindListener(Matcher, ProvisionListener...)
- @since 4.0]]>

-      </doc>

-    </method>

-    <doc>

+ @since 4.0]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A support class for {@link Module}s which reduces repetition and results in
  a more readable configuration. Simply extend this class, implement {@link
  #configure()}, and call the inherited methods which mirror those found in
@@ -286,22 +286,22 @@
  }
  </pre>
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.AbstractModule -->

-  <!-- start interface com.google.inject.Binder -->

-  <interface name="Binder"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="bindInterceptor"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="classMatcher" type="com.google.inject.matcher.Matcher&lt;? super java.lang.Class&lt;?&gt;&gt;"/>

-      <param name="methodMatcher" type="com.google.inject.matcher.Matcher&lt;? super java.lang.reflect.Method&gt;"/>

-      <param name="interceptors" type="org.aopalliance.intercept.MethodInterceptor[]"/>

-      <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.AbstractModule -->
+  <!-- start interface com.google.inject.Binder -->
+  <interface name="Binder"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="bindInterceptor"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="classMatcher" type="com.google.inject.matcher.Matcher&lt;? super java.lang.Class&lt;?&gt;&gt;"/>
+      <param name="methodMatcher" type="com.google.inject.matcher.Matcher&lt;? super java.lang.reflect.Method&gt;"/>
+      <param name="interceptors" type="org.aopalliance.intercept.MethodInterceptor[]"/>
+      <doc>
       <![CDATA[Binds method interceptor[s] to methods matched by class and method matchers. A method is
  eligible for interception if:
 
@@ -316,243 +316,243 @@
  @param methodMatcher matches methods the interceptor should apply to. For
      example: {@code annotatedWith(Transactional.class)}.
  @param interceptors to bind.  The interceptors are called in the order they
-     are given.]]>

-      </doc>

-    </method>

-    <method name="bindScope"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <param name="scope" type="com.google.inject.Scope"/>

-      <doc>

-      <![CDATA[Binds a scope to an annotation.]]>

-      </doc>

-    </method>

-    <method name="bind" return="com.google.inject.binder.LinkedBindingBuilder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link Binder}.]]>

-      </doc>

-    </method>

-    <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link Binder}.]]>

-      </doc>

-    </method>

-    <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link Binder}.]]>

-      </doc>

-    </method>

-    <method name="bindConstant" return="com.google.inject.binder.AnnotatedConstantBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[See the EDSL examples at {@link Binder}.]]>

-      </doc>

-    </method>

-    <method name="requestInjection"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <param name="instance" type="T"/>

-      <doc>

+     are given.]]>
+      </doc>
+    </method>
+    <method name="bindScope"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <param name="scope" type="com.google.inject.Scope"/>
+      <doc>
+      <![CDATA[Binds a scope to an annotation.]]>
+      </doc>
+    </method>
+    <method name="bind" return="com.google.inject.binder.LinkedBindingBuilder&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link Binder}.]]>
+      </doc>
+    </method>
+    <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link Binder}.]]>
+      </doc>
+    </method>
+    <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link Binder}.]]>
+      </doc>
+    </method>
+    <method name="bindConstant" return="com.google.inject.binder.AnnotatedConstantBindingBuilder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[See the EDSL examples at {@link Binder}.]]>
+      </doc>
+    </method>
+    <method name="requestInjection"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <param name="instance" type="T"/>
+      <doc>
       <![CDATA[Upon successful creation, the {@link Injector} will inject instance fields
  and methods of the given object.
 
  @param type of instance
  @param instance for which members will be injected
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="requestInjection"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="instance" type="java.lang.Object"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="requestInjection"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="instance" type="java.lang.Object"/>
+      <doc>
       <![CDATA[Upon successful creation, the {@link Injector} will inject instance fields
  and methods of the given object.
 
  @param instance for which members will be injected
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="requestStaticInjection"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="types" type="java.lang.Class[]"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="requestStaticInjection"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="types" type="java.lang.Class[]"/>
+      <doc>
       <![CDATA[Upon successful creation, the {@link Injector} will inject static fields
  and methods in the given classes.
 
- @param types for which static members will be injected]]>

-      </doc>

-    </method>

-    <method name="install"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="module" type="com.google.inject.Module"/>

-      <doc>

-      <![CDATA[Uses the given module to configure more bindings.]]>

-      </doc>

-    </method>

-    <method name="currentStage" return="com.google.inject.Stage"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Gets the current stage.]]>

-      </doc>

-    </method>

-    <method name="addError"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="message" type="java.lang.String"/>

-      <param name="arguments" type="java.lang.Object[]"/>

-      <doc>

+ @param types for which static members will be injected]]>
+      </doc>
+    </method>
+    <method name="install"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="module" type="com.google.inject.Module"/>
+      <doc>
+      <![CDATA[Uses the given module to configure more bindings.]]>
+      </doc>
+    </method>
+    <method name="currentStage" return="com.google.inject.Stage"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Gets the current stage.]]>
+      </doc>
+    </method>
+    <method name="addError"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="message" type="java.lang.String"/>
+      <param name="arguments" type="java.lang.Object[]"/>
+      <doc>
       <![CDATA[Records an error message which will be presented to the user at a later
  time. Unlike throwing an exception, this enable us to continue
  configuring the Injector and discover more errors. Uses {@link
  String#format(String, Object[])} to insert the arguments into the
- message.]]>

-      </doc>

-    </method>

-    <method name="addError"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="t" type="java.lang.Throwable"/>

-      <doc>

+ message.]]>
+      </doc>
+    </method>
+    <method name="addError"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="t" type="java.lang.Throwable"/>
+      <doc>
       <![CDATA[Records an exception, the full details of which will be logged, and the
  message of which will be presented to the user at a later
  time. If your Module calls something that you worry may fail, you should
- catch the exception and pass it into this.]]>

-      </doc>

-    </method>

-    <method name="addError"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="message" type="com.google.inject.spi.Message"/>

-      <doc>

+ catch the exception and pass it into this.]]>
+      </doc>
+    </method>
+    <method name="addError"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="message" type="com.google.inject.spi.Message"/>
+      <doc>
       <![CDATA[Records an error message to be presented to the user at a later time.
 
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the provider used to obtain instances for the given injection key.
  The returned provider will not be valid until the {@link Injector} has been
  created. The provider will throw an {@code IllegalStateException} if you
  try to use it beforehand.
 
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the provider used to obtain instances for the given injection type.
  The returned provider will not be valid until the {@link Injector} has been
  created. The provider will throw an {@code IllegalStateException} if you
  try to use it beforehand.
 
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the members injector used to inject dependencies into methods and fields on instances
  of the given type {@code T}. The returned members injector will not be valid until the main
  {@link Injector} has been created. The members injector will throw an {@code
  IllegalStateException} if you try to use it beforehand.
 
  @param typeLiteral type to get members injector for
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the members injector used to inject dependencies into methods and fields on instances
  of the given type {@code T}. The returned members injector will not be valid until the main
  {@link Injector} has been created. The members injector will throw an {@code
  IllegalStateException} if you try to use it beforehand.
 
  @param type type to get members injector for
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="convertToTypes"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="typeMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;"/>

-      <param name="converter" type="com.google.inject.spi.TypeConverter"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="convertToTypes"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="typeMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;"/>
+      <param name="converter" type="com.google.inject.spi.TypeConverter"/>
+      <doc>
       <![CDATA[Binds a type converter. The injector will use the given converter to
  convert string constants to matching types as needed.
 
  @param typeMatcher matches types the converter can handle
  @param converter converts values
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="bindListener"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="typeMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;"/>

-      <param name="listener" type="com.google.inject.spi.TypeListener"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="bindListener"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="typeMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;"/>
+      <param name="listener" type="com.google.inject.spi.TypeListener"/>
+      <doc>
       <![CDATA[Registers a listener for injectable types. Guice will notify the listener when it encounters
  injectable types matched by the given type matcher.
 
  @param typeMatcher that matches injectable types the listener should be notified of
  @param listener for injectable types matched by typeMatcher
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="bindListener"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="bindingMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.Binding&lt;?&gt;&gt;"/>

-      <param name="listeners" type="com.google.inject.spi.ProvisionListener[]"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="bindListener"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="bindingMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.Binding&lt;?&gt;&gt;"/>
+      <param name="listeners" type="com.google.inject.spi.ProvisionListener[]"/>
+      <doc>
       <![CDATA[Registers listeners for provisioned objects. Guice will notify the
  listeners just before and after the object is provisioned. Provisioned
  objects that are also injectable (everything except objects provided
@@ -562,15 +562,15 @@
  @param bindingMatcher that matches bindings of provisioned objects the listener
           should be notified of
  @param listeners for provisioned objects matched by bindingMatcher 
- @since 4.0]]>

-      </doc>

-    </method>

-    <method name="withSource" return="com.google.inject.Binder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="java.lang.Object"/>

-      <doc>

+ @since 4.0]]>
+      </doc>
+    </method>
+    <method name="withSource" return="com.google.inject.Binder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="java.lang.Object"/>
+      <doc>
       <![CDATA[Returns a binder that uses {@code source} as the reference location for
  configuration errors. This is typically a {@link StackTraceElement}
  for {@code .java} source but it could any binding source, such as the
@@ -579,15 +579,15 @@
  @param source any object representing the source location and has a
      concise {@link Object#toString() toString()} value
  @return a binder that shares its configuration with this binder
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="skipSources" return="com.google.inject.Binder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="classesToSkip" type="java.lang.Class[]"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="skipSources" return="com.google.inject.Binder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="classesToSkip" type="java.lang.Class[]"/>
+      <doc>
       <![CDATA[Returns a binder that skips {@code classesToSkip} when identify the
  calling code. The caller's {@link StackTraceElement} is used to locate
  the source of configuration errors.
@@ -595,28 +595,28 @@
  @param classesToSkip library classes that create bindings on behalf of
       their clients.
  @return a binder that shares its configuration with this binder.
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="newPrivateBinder" return="com.google.inject.PrivateBinder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="newPrivateBinder" return="com.google.inject.PrivateBinder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Creates a new private child environment for bindings and other configuration. The returned
  binder can be used to add and configuration information in this environment. See {@link
  PrivateModule} for details.
 
  @return a binder that inherits configuration from this binder. Only exposed configuration on
       the returned binder will be visible to this binder.
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="requireExplicitBindings"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="requireExplicitBindings"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Instructs the Injector that bindings must be listed in a Module in order to
  be injected. Classes that are not explicitly bound in a module cannot be
  injected. Bindings created through a linked binding (
@@ -642,14 +642,14 @@
  parent. The child will not be allowed to reference the target binding
  directly, but the parent and other children of the parent may be able to.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="disableCircularProxies"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="disableCircularProxies"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Prevents Guice from constructing a {@link Proxy} when a circular dependency
  is found.  By default, circular proxies are not disabled.
  <p>
@@ -660,14 +660,14 @@
  does, the behavior is limited only to that child or any grandchildren. No
  siblings of the child will disable circular proxies.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="requireAtInjectOnConstructors"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="requireAtInjectOnConstructors"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Requires that a {@literal @}{@link Inject} annotation exists on a constructor in order for
  Guice to consider it an eligible injectable class. By default, Guice will inject classes that
  have a no-args constructor if no {@literal @}{@link Inject} annotation exists on any
@@ -676,23 +676,23 @@
  If the class is bound using {@link LinkedBindingBuilder#toConstructor}, Guice will still inject
  that constructor regardless of annotations.
 
- @since 4.0]]>

-      </doc>

-    </method>

-    <method name="requireExactBindingAnnotations"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 4.0]]>
+      </doc>
+    </method>
+    <method name="requireExactBindingAnnotations"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Requires that Guice finds an exactly matching binding annotation.  This disables the
  error-prone feature in Guice where it can substitute a binding for
  <code>{@literal @}Named Foo</code> when attempting to inject
  <code>{@literal @}Named("foo") Foo</code>.
 
- @since 4.0]]>

-      </doc>

-    </method>

-    <doc>

+ @since 4.0]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Collects configuration information (primarily <i>bindings</i>) which will be
  used to create an {@link Injector}. Guice provides this object to your
  application's {@link Module} implementors so they may each contribute
@@ -862,61 +862,61 @@
 
  @author crazybob@google.com (Bob Lee)
  @author jessewilson@google.com (Jesse Wilson)
- @author kevinb@google.com (Kevin Bourrillion)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.Binder -->

-  <!-- start interface com.google.inject.Binding -->

-  <interface name="Binding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.Element"/>

-    <method name="getKey" return="com.google.inject.Key&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the key for this binding.]]>

-      </doc>

-    </method>

-    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @author kevinb@google.com (Kevin Bourrillion)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.Binder -->
+  <!-- start interface com.google.inject.Binding -->
+  <interface name="Binding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.Element"/>
+    <method name="getKey" return="com.google.inject.Key&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the key for this binding.]]>
+      </doc>
+    </method>
+    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the scoped provider guice uses to fulfill requests for this
  binding.
 
  @throws UnsupportedOperationException when invoked on a {@link Binding}
       created via {@link com.google.inject.spi.Elements#getElements}. This
-      method is only supported on {@link Binding}s returned from an injector.]]>

-      </doc>

-    </method>

-    <method name="acceptTargetVisitor" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.BindingTargetVisitor&lt;? super T, V&gt;"/>

-      <doc>

+      method is only supported on {@link Binding}s returned from an injector.]]>
+      </doc>
+    </method>
+    <method name="acceptTargetVisitor" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.BindingTargetVisitor&lt;? super T, V&gt;"/>
+      <doc>
       <![CDATA[Accepts a target visitor. Invokes the visitor method specific to this binding's target.
 
  @param visitor to call back on
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="acceptScopingVisitor" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.BindingScopingVisitor&lt;V&gt;"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="acceptScopingVisitor" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.BindingScopingVisitor&lt;V&gt;"/>
+      <doc>
       <![CDATA[Accepts a scoping visitor. Invokes the visitor method specific to this binding's scoping.
 
  @param visitor to call back on
- @since 2.0]]>

-      </doc>

-    </method>

-    <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A mapping from a key (type and optional annotation) to the strategy for getting instances of the
  type. This interface is part of the introspection API and is intended primarily for use by 
  tools.
@@ -951,16 +951,16 @@
  @param <T> the bound type. The injected is always assignable to this type.
 
  @author crazybob@google.com (Bob Lee)
- @author jessewilson@google.com (Jesse Wilson)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.Binding -->

-  <!-- start class com.google.inject.BindingAnnotation -->

-  <class name="BindingAnnotation"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @author jessewilson@google.com (Jesse Wilson)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.Binding -->
+  <!-- start class com.google.inject.BindingAnnotation -->
+  <class name="BindingAnnotation"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Annotates annotations which are used for binding. Only one such annotation
  may apply to a single injection point. You must also annotate binder
  annotations with {@code @Retention(RUNTIME)}. For example:
@@ -972,172 +972,172 @@
    public {@code @}interface Transactional {}
  </pre>
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.BindingAnnotation -->

-  <!-- start class com.google.inject.ConfigurationException -->

-  <class name="ConfigurationException" extends="java.lang.RuntimeException"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="ConfigurationException" type="java.lang.Iterable&lt;com.google.inject.spi.Message&gt;"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Creates a ConfigurationException containing {@code messages}.]]>

-      </doc>

-    </constructor>

-    <method name="withPartialValue" return="com.google.inject.ConfigurationException"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="partialValue" type="java.lang.Object"/>

-      <doc>

-      <![CDATA[Returns a copy of this configuration exception with the specified partial value.]]>

-      </doc>

-    </method>

-    <method name="getErrorMessages" return="java.util.Collection&lt;com.google.inject.spi.Message&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns messages for the errors that caused this exception.]]>

-      </doc>

-    </method>

-    <method name="getPartialValue" return="E"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.BindingAnnotation -->
+  <!-- start class com.google.inject.ConfigurationException -->
+  <class name="ConfigurationException" extends="java.lang.RuntimeException"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="ConfigurationException" type="java.lang.Iterable&lt;com.google.inject.spi.Message&gt;"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Creates a ConfigurationException containing {@code messages}.]]>
+      </doc>
+    </constructor>
+    <method name="withPartialValue" return="com.google.inject.ConfigurationException"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="partialValue" type="java.lang.Object"/>
+      <doc>
+      <![CDATA[Returns a copy of this configuration exception with the specified partial value.]]>
+      </doc>
+    </method>
+    <method name="getErrorMessages" return="java.util.Collection&lt;com.google.inject.spi.Message&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns messages for the errors that caused this exception.]]>
+      </doc>
+    </method>
+    <method name="getPartialValue" return="E"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns a value that was only partially computed due to this exception. The caller can use
  this while collecting additional configuration problems.
 
  @return the partial value, or {@code null} if none was set. The type of the partial value is
-      specified by the throwing method.]]>

-      </doc>

-    </method>

-    <method name="getMessage" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+      specified by the throwing method.]]>
+      </doc>
+    </method>
+    <method name="getMessage" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[Thrown when a programming error such as a misplaced annotation, illegal binding, or unsupported
  scope is found. Clients should catch this exception, log it, and stop execution.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.ConfigurationException -->

-  <!-- start class com.google.inject.CreationException -->

-  <class name="CreationException" extends="java.lang.RuntimeException"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="CreationException" type="java.util.Collection&lt;com.google.inject.spi.Message&gt;"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Creates a CreationException containing {@code messages}.]]>

-      </doc>

-    </constructor>

-    <method name="getErrorMessages" return="java.util.Collection&lt;com.google.inject.spi.Message&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns messages for the errors that caused this exception.]]>

-      </doc>

-    </method>

-    <method name="getMessage" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.ConfigurationException -->
+  <!-- start class com.google.inject.CreationException -->
+  <class name="CreationException" extends="java.lang.RuntimeException"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="CreationException" type="java.util.Collection&lt;com.google.inject.spi.Message&gt;"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Creates a CreationException containing {@code messages}.]]>
+      </doc>
+    </constructor>
+    <method name="getErrorMessages" return="java.util.Collection&lt;com.google.inject.spi.Message&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns messages for the errors that caused this exception.]]>
+      </doc>
+    </method>
+    <method name="getMessage" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[Thrown when errors occur while creating a {@link Injector}. Includes a list of encountered
  errors. Clients should catch this exception, log it, and stop execution.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.CreationException -->

-  <!-- start class com.google.inject.Exposed -->

-  <class name="Exposed"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.CreationException -->
+  <!-- start class com.google.inject.Exposed -->
+  <class name="Exposed"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Acccompanies a {@literal @}{@link com.google.inject.Provides Provides} method annotation in a
  private module to indicate that the provided binding is exposed.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.Exposed -->

-  <!-- start class com.google.inject.Guice -->

-  <class name="Guice" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="createInjector" return="com.google.inject.Injector"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="modules" type="com.google.inject.Module[]"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.Exposed -->
+  <!-- start class com.google.inject.Guice -->
+  <class name="Guice" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="createInjector" return="com.google.inject.Injector"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="modules" type="com.google.inject.Module[]"/>
+      <doc>
       <![CDATA[Creates an injector for the given set of modules. This is equivalent to
  calling {@link #createInjector(Stage, Module...)} with Stage.DEVELOPMENT.
 
  @throws CreationException if one or more errors occur during injector
-     construction]]>

-      </doc>

-    </method>

-    <method name="createInjector" return="com.google.inject.Injector"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="modules" type="java.lang.Iterable&lt;? extends com.google.inject.Module&gt;"/>

-      <doc>

+     construction]]>
+      </doc>
+    </method>
+    <method name="createInjector" return="com.google.inject.Injector"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="modules" type="java.lang.Iterable&lt;? extends com.google.inject.Module&gt;"/>
+      <doc>
       <![CDATA[Creates an injector for the given set of modules. This is equivalent to
  calling {@link #createInjector(Stage, Iterable)} with Stage.DEVELOPMENT.
 
  @throws CreationException if one or more errors occur during injector
-     creation]]>

-      </doc>

-    </method>

-    <method name="createInjector" return="com.google.inject.Injector"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="stage" type="com.google.inject.Stage"/>

-      <param name="modules" type="com.google.inject.Module[]"/>

-      <doc>

+     creation]]>
+      </doc>
+    </method>
+    <method name="createInjector" return="com.google.inject.Injector"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="stage" type="com.google.inject.Stage"/>
+      <param name="modules" type="com.google.inject.Module[]"/>
+      <doc>
       <![CDATA[Creates an injector for the given set of modules, in a given development
  stage.
 
  @throws CreationException if one or more errors occur during injector
-     creation.]]>

-      </doc>

-    </method>

-    <method name="createInjector" return="com.google.inject.Injector"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="stage" type="com.google.inject.Stage"/>

-      <param name="modules" type="java.lang.Iterable&lt;? extends com.google.inject.Module&gt;"/>

-      <doc>

+     creation.]]>
+      </doc>
+    </method>
+    <method name="createInjector" return="com.google.inject.Injector"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="stage" type="com.google.inject.Stage"/>
+      <param name="modules" type="java.lang.Iterable&lt;? extends com.google.inject.Module&gt;"/>
+      <doc>
       <![CDATA[Creates an injector for the given set of modules, in a given development
  stage.
 
  @throws CreationException if one or more errors occur during injector
-     construction]]>

-      </doc>

-    </method>

-    <doc>

+     construction]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[The entry point to the Guice framework. Creates {@link Injector}s from
  {@link Module}s.
 
@@ -1162,28 +1162,28 @@
          starter.runApplication();
        }
      }
- </pre>]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.Guice -->

-  <!-- start class com.google.inject.ImplementedBy -->

-  <class name="ImplementedBy"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ </pre>]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.Guice -->
+  <!-- start class com.google.inject.ImplementedBy -->
+  <class name="ImplementedBy"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[A pointer to the default implementation of a type.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.ImplementedBy -->

-  <!-- start class com.google.inject.Inject -->

-  <class name="Inject"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.ImplementedBy -->
+  <!-- start class com.google.inject.Inject -->
+  <class name="Inject"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Annotates members of your implementation class (constructors, methods
  and fields) into which the {@link Injector} should inject values.
  The Injector fulfills injection requests for:
@@ -1196,7 +1196,7 @@
  
  <li>Pre-constructed instances passed to {@link Injector#injectMembers},
  {@link com.google.inject.binder.LinkedBindingBuilder#toInstance(Object)} and
- {@link com.google.inject.binder.LinkedBindingBuilder#toProvider(Provider)}.
+ {@link com.google.inject.binder.LinkedBindingBuilder#toProvider(javax.inject.Provider)}.
  In this case all constructors are, of course, ignored.
 
  <li>Static fields and methods of classes which any {@link Module} has
@@ -1207,20 +1207,20 @@
  In all cases, a member can be injected regardless of its Java access
  specifier (private, default, protected, public).
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.Inject -->

-  <!-- start interface com.google.inject.Injector -->

-  <interface name="Injector"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="injectMembers"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="instance" type="java.lang.Object"/>

-      <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.Inject -->
+  <!-- start interface com.google.inject.Injector -->
+  <interface name="Injector"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="injectMembers"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="instance" type="java.lang.Object"/>
+      <doc>
       <![CDATA[Injects dependencies into the fields and methods of {@code instance}. Ignores the presence or
  absence of an injectable constructor.
 
@@ -1231,30 +1231,30 @@
  @param instance to inject members on
 
  @see Binder#getMembersInjector(Class) for a preferred alternative that supports checks before
-  run time]]>

-      </doc>

-    </method>

-    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <doc>

+  run time]]>
+      </doc>
+    </method>
+    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the members injector used to inject dependencies into methods and fields on instances
  of the given type {@code T}.
 
  @param typeLiteral type to get members injector for
  @see Binder#getMembersInjector(TypeLiteral) for an alternative that offers up front error
   detection
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the members injector used to inject dependencies into methods and fields on instances
  of the given type {@code T}. When feasible, use {@link Binder#getMembersInjector(TypeLiteral)}
  instead to get increased up front error detection.
@@ -1262,14 +1262,14 @@
  @param type type to get members injector for
  @see Binder#getMembersInjector(Class) for an alternative that offers up front error
   detection
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getBindings" return="java.util.Map&lt;com.google.inject.Key&lt;?&gt;, com.google.inject.Binding&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getBindings" return="java.util.Map&lt;com.google.inject.Key&lt;?&gt;, com.google.inject.Binding&lt;?&gt;&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns this injector's <strong>explicit</strong> bindings.
 
  <p>The returned map does not include bindings inherited from a {@link #getParent() parent
@@ -1277,14 +1277,14 @@
  its {@link Map#entrySet()} iterator) in the order of insertion. In other words, the order in
  which bindings appear in user Modules.
 
- <p>This method is part of the Guice SPI and is intended for use by tools and extensions.]]>

-      </doc>

-    </method>

-    <method name="getAllBindings" return="java.util.Map&lt;com.google.inject.Key&lt;?&gt;, com.google.inject.Binding&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ <p>This method is part of the Guice SPI and is intended for use by tools and extensions.]]>
+      </doc>
+    </method>
+    <method name="getAllBindings" return="java.util.Map&lt;com.google.inject.Key&lt;?&gt;, com.google.inject.Binding&lt;?&gt;&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns a snapshot of this injector's bindings, <strong>both explicit and
  just-in-time</strong>. The returned map is immutable; it contains only the bindings that were
  present when {@code getAllBindings()} was invoked. Subsequent calls may return a map with
@@ -1295,30 +1295,30 @@
 
  <p>This method is part of the Guice SPI and is intended for use by tools and extensions.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="getBinding" return="com.google.inject.Binding&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="getBinding" return="com.google.inject.Binding&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the binding for the given injection key. This will be an explicit bindings if the key
  was bound explicitly by a module, or an implicit binding otherwise. The implicit binding will
  be created if necessary.
 
  <p>This method is part of the Guice SPI and is intended for use by tools and extensions.
 
- @throws ConfigurationException if this injector cannot find or create the binding.]]>

-      </doc>

-    </method>

-    <method name="getBinding" return="com.google.inject.Binding&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

+ @throws ConfigurationException if this injector cannot find or create the binding.]]>
+      </doc>
+    </method>
+    <method name="getBinding" return="com.google.inject.Binding&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the binding for the given type. This will be an explicit bindings if the injection key
  was bound explicitly by a module, or an implicit binding otherwise. The implicit binding will
  be created if necessary.
@@ -1326,105 +1326,105 @@
  <p>This method is part of the Guice SPI and is intended for use by tools and extensions.
 
  @throws ConfigurationException if this injector cannot find or create the binding.
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getExistingBinding" return="com.google.inject.Binding&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getExistingBinding" return="com.google.inject.Binding&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the binding if it already exists, or null if does not exist. Unlike
  {@link #getBinding(Key)}, this does not attempt to create just-in-time bindings
  for keys that aren't bound.
  
  <p> This method is part of the Guice SPI and is intended for use by tools and extensions.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="findBindingsByType" return="java.util.List&lt;com.google.inject.Binding&lt;T&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="findBindingsByType" return="java.util.List&lt;com.google.inject.Binding&lt;T&gt;&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns all explicit bindings for {@code type}.
 
- <p>This method is part of the Guice SPI and is intended for use by tools and extensions.]]>

-      </doc>

-    </method>

-    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>

-      <doc>

+ <p>This method is part of the Guice SPI and is intended for use by tools and extensions.]]>
+      </doc>
+    </method>
+    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the provider used to obtain instances for the given injection key. When feasible, avoid
  using this method, in favor of having Guice inject your dependencies ahead of time.
 
  @throws ConfigurationException if this injector cannot find or create the provider.
- @see Binder#getProvider(Key) for an alternative that offers up front error detection]]>

-      </doc>

-    </method>

-    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

+ @see Binder#getProvider(Key) for an alternative that offers up front error detection]]>
+      </doc>
+    </method>
+    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the provider used to obtain instances for the given type. When feasible, avoid
  using this method, in favor of having Guice inject your dependencies ahead of time.
 
  @throws ConfigurationException if this injector cannot find or create the provider.
- @see Binder#getProvider(Class) for an alternative that offers up front error detection]]>

-      </doc>

-    </method>

-    <method name="getInstance" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>

-      <doc>

+ @see Binder#getProvider(Class) for an alternative that offers up front error detection]]>
+      </doc>
+    </method>
+    <method name="getInstance" return="T"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the appropriate instance for the given injection key; equivalent to {@code
  getProvider(key).get()}. When feasible, avoid using this method, in favor of having Guice
  inject your dependencies ahead of time.
 
  @throws ConfigurationException if this injector cannot find or create the provider.
- @throws ProvisionException if there was a runtime failure while providing an instance.]]>

-      </doc>

-    </method>

-    <method name="getInstance" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

+ @throws ProvisionException if there was a runtime failure while providing an instance.]]>
+      </doc>
+    </method>
+    <method name="getInstance" return="T"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the appropriate instance for the given injection type; equivalent to {@code
  getProvider(type).get()}. When feasible, avoid using this method, in favor of having Guice
  inject your dependencies ahead of time.
 
  @throws ConfigurationException if this injector cannot find or create the provider.
- @throws ProvisionException if there was a runtime failure while providing an instance.]]>

-      </doc>

-    </method>

-    <method name="getParent" return="com.google.inject.Injector"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @throws ProvisionException if there was a runtime failure while providing an instance.]]>
+      </doc>
+    </method>
+    <method name="getParent" return="com.google.inject.Injector"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns this injector's parent, or {@code null} if this is a top-level injector.
 
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="createChildInjector" return="com.google.inject.Injector"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="modules" type="java.lang.Iterable&lt;? extends com.google.inject.Module&gt;"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="createChildInjector" return="com.google.inject.Injector"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="modules" type="java.lang.Iterable&lt;? extends com.google.inject.Module&gt;"/>
+      <doc>
       <![CDATA[Returns a new injector that inherits all state from this injector. All bindings, scopes,
  interceptors and type converters are inherited -- they are visible to the child injector.
  Elements of the child injector are not visible to its parent.
@@ -1439,15 +1439,15 @@
  bindings. The lone exception is the key for {@code Injector.class}, which is bound by each
  injector to itself.
 
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="createChildInjector" return="com.google.inject.Injector"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="modules" type="com.google.inject.Module[]"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="createChildInjector" return="com.google.inject.Injector"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="modules" type="com.google.inject.Module[]"/>
+      <doc>
       <![CDATA[Returns a new injector that inherits all state from this injector. All bindings, scopes,
  interceptors and type converters are inherited -- they are visible to the child injector.
  Elements of the child injector are not visible to its parent.
@@ -1460,37 +1460,37 @@
  bindings. The lone exception is the key for {@code Injector.class}, which is bound by each
  injector to itself.
 
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getScopeBindings" return="java.util.Map&lt;java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;, com.google.inject.Scope&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getScopeBindings" return="java.util.Map&lt;java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;, com.google.inject.Scope&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns a map containing all scopes in the injector. The maps keys are scoping annotations
  like {@code Singleton.class}, and the values are scope instances, such as {@code
  Scopes.SINGLETON}. The returned map is immutable.
 
  <p>This method is part of the Guice SPI and is intended for use by tools and extensions.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="getTypeConverterBindings" return="java.util.Set&lt;com.google.inject.spi.TypeConverterBinding&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="getTypeConverterBindings" return="java.util.Set&lt;com.google.inject.spi.TypeConverterBinding&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns a set containing all type converter bindings in the injector. The returned set is
  immutable.
 
  <p>This method is part of the Guice SPI and is intended for use by tools and extensions.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Builds the graphs of objects that make up your application. The injector tracks the dependencies
  for each type and uses bindings to inject them. This is the core of Guice, although you rarely
  interact with it directly. This "behind-the-scenes" operation is what distinguishes dependency
@@ -1518,19 +1518,19 @@
  enables tools and extensions to operate on an injector reflectively.
 
  @author crazybob@google.com (Bob Lee)
- @author jessewilson@google.com (Jesse Wilson)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.Injector -->

-  <!-- start class com.google.inject.Key -->

-  <class name="Key" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="Key" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <doc>

+ @author jessewilson@google.com (Jesse Wilson)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.Injector -->
+  <!-- start class com.google.inject.Key -->
+  <class name="Key" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="Key" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Constructs a new key. Derives the type from this class's type parameter.
 
  <p>Clients create an empty anonymous subclass. Doing so embeds the type
@@ -1540,13 +1540,13 @@
  <p>Example usage for a binding of type {@code Foo} annotated with
  {@code @Bar}:
 
- <p>{@code new Key<Foo>(Bar.class) {}}.]]>

-      </doc>

-    </constructor>

-    <constructor name="Key" type="java.lang.annotation.Annotation"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <doc>

+ <p>{@code new Key<Foo>(Bar.class) {}}.]]>
+      </doc>
+    </constructor>
+    <constructor name="Key" type="java.lang.annotation.Annotation"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Constructs a new key. Derives the type from this class's type parameter.
 
  <p>Clients create an empty anonymous subclass. Doing so embeds the type
@@ -1556,13 +1556,13 @@
  <p>Example usage for a binding of type {@code Foo} annotated with
  {@code @Bar}:
 
- <p>{@code new Key<Foo>(new Bar()) {}}.]]>

-      </doc>

-    </constructor>

-    <constructor name="Key"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <doc>

+ <p>{@code new Key<Foo>(new Bar()) {}}.]]>
+      </doc>
+    </constructor>
+    <constructor name="Key"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Constructs a new key. Derives the type from this class's type parameter.
 
  <p>Clients create an empty anonymous subclass. Doing so embeds the type
@@ -1571,194 +1571,194 @@
 
  <p>Example usage for a binding of type {@code Foo}:
 
- <p>{@code new Key<Foo>() {}}.]]>

-      </doc>

-    </constructor>

-    <method name="getTypeLiteral" return="com.google.inject.TypeLiteral&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Gets the key type.]]>

-      </doc>

-    </method>

-    <method name="getAnnotationType" return="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Gets the annotation type.]]>

-      </doc>

-    </method>

-    <method name="getAnnotation" return="java.lang.annotation.Annotation"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Gets the annotation.]]>

-      </doc>

-    </method>

-    <method name="equals" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="public"

-      deprecated="not deprecated">

-      <param name="o" type="java.lang.Object"/>

-    </method>

-    <method name="hashCode" return="int"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="get" return="com.google.inject.Key&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

-      <![CDATA[Gets a key for an injection type.]]>

-      </doc>

-    </method>

-    <method name="get" return="com.google.inject.Key&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <doc>

-      <![CDATA[Gets a key for an injection type and an annotation type.]]>

-      </doc>

-    </method>

-    <method name="get" return="com.google.inject.Key&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <param name="annotation" type="java.lang.annotation.Annotation"/>

-      <doc>

-      <![CDATA[Gets a key for an injection type and an annotation.]]>

-      </doc>

-    </method>

-    <method name="get" return="com.google.inject.Key&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.reflect.Type"/>

-      <doc>

-      <![CDATA[Gets a key for an injection type.]]>

-      </doc>

-    </method>

-    <method name="get" return="com.google.inject.Key&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.reflect.Type"/>

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <doc>

-      <![CDATA[Gets a key for an injection type and an annotation type.]]>

-      </doc>

-    </method>

-    <method name="get" return="com.google.inject.Key&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.reflect.Type"/>

-      <param name="annotation" type="java.lang.annotation.Annotation"/>

-      <doc>

-      <![CDATA[Gets a key for an injection type and an annotation.]]>

-      </doc>

-    </method>

-    <method name="get" return="com.google.inject.Key&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <doc>

-      <![CDATA[Gets a key for an injection type.]]>

-      </doc>

-    </method>

-    <method name="get" return="com.google.inject.Key&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <doc>

-      <![CDATA[Gets a key for an injection type and an annotation type.]]>

-      </doc>

-    </method>

-    <method name="get" return="com.google.inject.Key&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <param name="annotation" type="java.lang.annotation.Annotation"/>

-      <doc>

-      <![CDATA[Gets a key for an injection type and an annotation.]]>

-      </doc>

-    </method>

-    <method name="ofType" return="com.google.inject.Key&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

+ <p>{@code new Key<Foo>() {}}.]]>
+      </doc>
+    </constructor>
+    <method name="getTypeLiteral" return="com.google.inject.TypeLiteral&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Gets the key type.]]>
+      </doc>
+    </method>
+    <method name="getAnnotationType" return="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Gets the annotation type.]]>
+      </doc>
+    </method>
+    <method name="getAnnotation" return="java.lang.annotation.Annotation"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Gets the annotation.]]>
+      </doc>
+    </method>
+    <method name="equals" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+      <param name="o" type="java.lang.Object"/>
+    </method>
+    <method name="hashCode" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="get" return="com.google.inject.Key&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
+      <![CDATA[Gets a key for an injection type.]]>
+      </doc>
+    </method>
+    <method name="get" return="com.google.inject.Key&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <doc>
+      <![CDATA[Gets a key for an injection type and an annotation type.]]>
+      </doc>
+    </method>
+    <method name="get" return="com.google.inject.Key&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <param name="annotation" type="java.lang.annotation.Annotation"/>
+      <doc>
+      <![CDATA[Gets a key for an injection type and an annotation.]]>
+      </doc>
+    </method>
+    <method name="get" return="com.google.inject.Key&lt;?&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.reflect.Type"/>
+      <doc>
+      <![CDATA[Gets a key for an injection type.]]>
+      </doc>
+    </method>
+    <method name="get" return="com.google.inject.Key&lt;?&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.reflect.Type"/>
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <doc>
+      <![CDATA[Gets a key for an injection type and an annotation type.]]>
+      </doc>
+    </method>
+    <method name="get" return="com.google.inject.Key&lt;?&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.reflect.Type"/>
+      <param name="annotation" type="java.lang.annotation.Annotation"/>
+      <doc>
+      <![CDATA[Gets a key for an injection type and an annotation.]]>
+      </doc>
+    </method>
+    <method name="get" return="com.google.inject.Key&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <doc>
+      <![CDATA[Gets a key for an injection type.]]>
+      </doc>
+    </method>
+    <method name="get" return="com.google.inject.Key&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <doc>
+      <![CDATA[Gets a key for an injection type and an annotation type.]]>
+      </doc>
+    </method>
+    <method name="get" return="com.google.inject.Key&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <param name="annotation" type="java.lang.annotation.Annotation"/>
+      <doc>
+      <![CDATA[Gets a key for an injection type and an annotation.]]>
+      </doc>
+    </method>
+    <method name="ofType" return="com.google.inject.Key&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns a new key of the specified type with the same annotation as this
  key.
 
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="ofType" return="com.google.inject.Key&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.reflect.Type"/>

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="ofType" return="com.google.inject.Key&lt;?&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.reflect.Type"/>
+      <doc>
       <![CDATA[Returns a new key of the specified type with the same annotation as this
  key.
 
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="ofType" return="com.google.inject.Key&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="ofType" return="com.google.inject.Key&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns a new key of the specified type with the same annotation as this
  key.
 
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="hasAttributes" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="hasAttributes" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns true if this key has annotation attributes.
 
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="withoutAttributes" return="com.google.inject.Key&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="withoutAttributes" return="com.google.inject.Key&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns this key without annotation attributes, i.e. with only the
  annotation type.
 
- @since 3.0]]>

-      </doc>

-    </method>

-    <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Binding key consisting of an injection type and an optional annotation.
  Matches the type and annotation at a point of injection.
 
@@ -1779,20 +1779,20 @@
  their correpsonding wrapper types (Integer, Character, etc.). Primitive
  types will be replaced with their wrapper types when keys are created.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.Key -->

-  <!-- start interface com.google.inject.MembersInjector -->

-  <interface name="MembersInjector"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="injectMembers"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="instance" type="T"/>

-      <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.Key -->
+  <!-- start interface com.google.inject.MembersInjector -->
+  <interface name="MembersInjector"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="injectMembers"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="instance" type="T"/>
+      <doc>
       <![CDATA[Injects dependencies into the fields and methods of {@code instance}. Ignores the presence or
  absence of an injectable constructor.
 
@@ -1800,10 +1800,10 @@
  performing constructor injection), so if you're able to let Guice create all your objects for
  you, you'll never need to use this method.
 
- @param instance to inject members on. May be {@code null}.]]>

-      </doc>

-    </method>

-    <doc>

+ @param instance to inject members on. May be {@code null}.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Injects dependencies into the fields and methods on instances of type {@code T}. Ignores the
  presence or absence of an injectable constructor.
 
@@ -1811,28 +1811,28 @@
 
  @author crazybob@google.com (Bob Lee)
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.MembersInjector -->

-  <!-- start interface com.google.inject.Module -->

-  <interface name="Module"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="configure"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.MembersInjector -->
+  <!-- start interface com.google.inject.Module -->
+  <interface name="Module"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="configure"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <doc>
       <![CDATA[Contributes bindings and other configurations for this module to {@code binder}.
 
  <p><strong>Do not invoke this method directly</strong> to install submodules. Instead use
  {@link Binder#install(Module)}, which ensures that {@link Provides provider methods} are
- discovered.]]>

-      </doc>

-    </method>

-    <doc>

+ discovered.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A module contributes configuration information, typically interface
  bindings, which will be used to create an {@link Injector}. A Guice-based
  application is ultimately composed of little more than a set of
@@ -1844,361 +1844,361 @@
  <p>In addition to the bindings configured via {@link #configure}, bindings
  will be created for all methods annotated with {@literal @}{@link Provides}.
  Use scope and binding annotations on these methods to configure the
- bindings.]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.Module -->

-  <!-- start class com.google.inject.OutOfScopeException -->

-  <class name="OutOfScopeException" extends="java.lang.RuntimeException"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="OutOfScopeException" type="java.lang.String"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <constructor name="OutOfScopeException" type="java.lang.String, java.lang.Throwable"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <constructor name="OutOfScopeException" type="java.lang.Throwable"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <doc>

+ bindings.]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.Module -->
+  <!-- start class com.google.inject.OutOfScopeException -->
+  <class name="OutOfScopeException" extends="java.lang.RuntimeException"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="OutOfScopeException" type="java.lang.String"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <constructor name="OutOfScopeException" type="java.lang.String, java.lang.Throwable"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <constructor name="OutOfScopeException" type="java.lang.Throwable"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <doc>
     <![CDATA[Thrown from {@link Provider#get} when an attempt is made to access a scoped
  object while the scope in question is not currently active.
 
  @author kevinb@google.com (Kevin Bourrillion)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.OutOfScopeException -->

-  <!-- start interface com.google.inject.PrivateBinder -->

-  <interface name="PrivateBinder"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.Binder"/>

-    <method name="expose"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>

-      <doc>

-      <![CDATA[Makes the binding for {@code key} available to the enclosing environment]]>

-      </doc>

-    </method>

-    <method name="expose" return="com.google.inject.binder.AnnotatedElementBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;?&gt;"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.OutOfScopeException -->
+  <!-- start interface com.google.inject.PrivateBinder -->
+  <interface name="PrivateBinder"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.Binder"/>
+    <method name="expose"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>
+      <doc>
+      <![CDATA[Makes the binding for {@code key} available to the enclosing environment]]>
+      </doc>
+    </method>
+    <method name="expose" return="com.google.inject.binder.AnnotatedElementBuilder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;?&gt;"/>
+      <doc>
       <![CDATA[Makes a binding for {@code type} available to the enclosing environment. Use {@link
  com.google.inject.binder.AnnotatedElementBuilder#annotatedWith(Class) annotatedWith()} to expose {@code type} with a
- binding annotation.]]>

-      </doc>

-    </method>

-    <method name="expose" return="com.google.inject.binder.AnnotatedElementBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="com.google.inject.TypeLiteral&lt;?&gt;"/>

-      <doc>

+ binding annotation.]]>
+      </doc>
+    </method>
+    <method name="expose" return="com.google.inject.binder.AnnotatedElementBuilder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="com.google.inject.TypeLiteral&lt;?&gt;"/>
+      <doc>
       <![CDATA[Makes a binding for {@code type} available to the enclosing environment. Use {@link
  AnnotatedElementBuilder#annotatedWith(Class) annotatedWith()} to expose {@code type} with a
- binding annotation.]]>

-      </doc>

-    </method>

-    <method name="withSource" return="com.google.inject.PrivateBinder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="java.lang.Object"/>

-    </method>

-    <method name="skipSources" return="com.google.inject.PrivateBinder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="classesToSkip" type="java.lang.Class[]"/>

-    </method>

-    <doc>

+ binding annotation.]]>
+      </doc>
+    </method>
+    <method name="withSource" return="com.google.inject.PrivateBinder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="java.lang.Object"/>
+    </method>
+    <method name="skipSources" return="com.google.inject.PrivateBinder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="classesToSkip" type="java.lang.Class[]"/>
+    </method>
+    <doc>
     <![CDATA[Returns a binder whose configuration information is hidden from its environment by default. See
  {@link com.google.inject.PrivateModule PrivateModule} for details.
  
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.PrivateBinder -->

-  <!-- start class com.google.inject.PrivateModule -->

-  <class name="PrivateModule" extends="java.lang.Object"

-    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.Module"/>

-    <constructor name="PrivateModule"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="configure"

-      abstract="false" native="false" synchronized="true"

-      static="false" final="true" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-    </method>

-    <method name="configure"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.PrivateBinder -->
+  <!-- start class com.google.inject.PrivateModule -->
+  <class name="PrivateModule" extends="java.lang.Object"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.Module"/>
+    <constructor name="PrivateModule"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="configure"
+      abstract="false" native="false" synchronized="true"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+    </method>
+    <method name="configure"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Creates bindings and other configurations private to this module. Use {@link #expose(Class)
- expose()} to make the bindings in this module available externally.]]>

-      </doc>

-    </method>

-    <method name="expose"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>

-      <doc>

-      <![CDATA[Makes the binding for {@code key} available to other modules and the injector.]]>

-      </doc>

-    </method>

-    <method name="expose" return="com.google.inject.binder.AnnotatedElementBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;?&gt;"/>

-      <doc>

+ expose()} to make the bindings in this module available externally.]]>
+      </doc>
+    </method>
+    <method name="expose"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>
+      <doc>
+      <![CDATA[Makes the binding for {@code key} available to other modules and the injector.]]>
+      </doc>
+    </method>
+    <method name="expose" return="com.google.inject.binder.AnnotatedElementBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;?&gt;"/>
+      <doc>
       <![CDATA[Makes a binding for {@code type} available to other modules and the injector. Use {@link
  AnnotatedElementBuilder#annotatedWith(Class) annotatedWith()} to expose {@code type} with a
- binding annotation.]]>

-      </doc>

-    </method>

-    <method name="expose" return="com.google.inject.binder.AnnotatedElementBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="type" type="com.google.inject.TypeLiteral&lt;?&gt;"/>

-      <doc>

+ binding annotation.]]>
+      </doc>
+    </method>
+    <method name="expose" return="com.google.inject.binder.AnnotatedElementBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="type" type="com.google.inject.TypeLiteral&lt;?&gt;"/>
+      <doc>
       <![CDATA[Makes a binding for {@code type} available to other modules and the injector. Use {@link
  AnnotatedElementBuilder#annotatedWith(Class) annotatedWith()} to expose {@code type} with a
- binding annotation.]]>

-      </doc>

-    </method>

-    <method name="binder" return="com.google.inject.PrivateBinder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the current binder.]]>

-      </doc>

-    </method>

-    <method name="bindScope"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="scopeAnnotation" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <param name="scope" type="com.google.inject.Scope"/>

-      <doc>

-      <![CDATA[@see Binder#bindScope(Class, Scope)]]>

-      </doc>

-    </method>

-    <method name="bind" return="com.google.inject.binder.LinkedBindingBuilder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>

-      <doc>

-      <![CDATA[@see Binder#bind(Key)]]>

-      </doc>

-    </method>

-    <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <doc>

-      <![CDATA[@see Binder#bind(TypeLiteral)]]>

-      </doc>

-    </method>

-    <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="clazz" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

-      <![CDATA[@see Binder#bind(Class)]]>

-      </doc>

-    </method>

-    <method name="bindConstant" return="com.google.inject.binder.AnnotatedConstantBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[@see Binder#bindConstant()]]>

-      </doc>

-    </method>

-    <method name="install"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="module" type="com.google.inject.Module"/>

-      <doc>

-      <![CDATA[@see Binder#install(Module)]]>

-      </doc>

-    </method>

-    <method name="addError"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="message" type="java.lang.String"/>

-      <param name="arguments" type="java.lang.Object[]"/>

-      <doc>

-      <![CDATA[@see Binder#addError(String, Object[])]]>

-      </doc>

-    </method>

-    <method name="addError"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="t" type="java.lang.Throwable"/>

-      <doc>

-      <![CDATA[@see Binder#addError(Throwable)]]>

-      </doc>

-    </method>

-    <method name="addError"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="message" type="com.google.inject.spi.Message"/>

-      <doc>

-      <![CDATA[@see Binder#addError(Message)]]>

-      </doc>

-    </method>

-    <method name="requestInjection"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="instance" type="java.lang.Object"/>

-      <doc>

-      <![CDATA[@see Binder#requestInjection(Object)]]>

-      </doc>

-    </method>

-    <method name="requestStaticInjection"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="types" type="java.lang.Class[]"/>

-      <doc>

-      <![CDATA[@see Binder#requestStaticInjection(Class[])]]>

-      </doc>

-    </method>

-    <method name="bindInterceptor"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="classMatcher" type="com.google.inject.matcher.Matcher&lt;? super java.lang.Class&lt;?&gt;&gt;"/>

-      <param name="methodMatcher" type="com.google.inject.matcher.Matcher&lt;? super java.lang.reflect.Method&gt;"/>

-      <param name="interceptors" type="org.aopalliance.intercept.MethodInterceptor[]"/>

-      <doc>

-      <![CDATA[@see Binder#bindInterceptor(com.google.inject.matcher.Matcher, com.google.inject.matcher.Matcher, org.aopalliance.intercept.MethodInterceptor[])]]>

-      </doc>

-    </method>

-    <method name="requireBinding"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>

-      <doc>

-      <![CDATA[Instructs Guice to require a binding to the given key.]]>

-      </doc>

-    </method>

-    <method name="requireBinding"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;?&gt;"/>

-      <doc>

-      <![CDATA[Instructs Guice to require a binding to the given type.]]>

-      </doc>

-    </method>

-    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>

-      <doc>

-      <![CDATA[@see Binder#getProvider(Key)]]>

-      </doc>

-    </method>

-    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

-      <![CDATA[@see Binder#getProvider(Class)]]>

-      </doc>

-    </method>

-    <method name="convertToTypes"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="typeMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;"/>

-      <param name="converter" type="com.google.inject.spi.TypeConverter"/>

-      <doc>

-      <![CDATA[@see Binder#convertToTypes(com.google.inject.matcher.Matcher, com.google.inject.spi.TypeConverter)]]>

-      </doc>

-    </method>

-    <method name="currentStage" return="com.google.inject.Stage"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[@see Binder#currentStage()]]>

-      </doc>

-    </method>

-    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

-      <![CDATA[@see Binder#getMembersInjector(Class)]]>

-      </doc>

-    </method>

-    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="type" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <doc>

-      <![CDATA[@see Binder#getMembersInjector(TypeLiteral)]]>

-      </doc>

-    </method>

-    <method name="bindListener"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="typeMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;"/>

-      <param name="listener" type="com.google.inject.spi.TypeListener"/>

-      <doc>

-      <![CDATA[@see Binder#bindListener(com.google.inject.matcher.Matcher, com.google.inject.spi.TypeListener)]]>

-      </doc>

-    </method>

-    <method name="bindListener"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="bindingMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.Binding&lt;?&gt;&gt;"/>

-      <param name="listeners" type="com.google.inject.spi.ProvisionListener[]"/>

-      <doc>

-      <![CDATA[@see Binder#bindListener(Matcher, ProvisionListener...)]]>

-      </doc>

-    </method>

-    <doc>

+ binding annotation.]]>
+      </doc>
+    </method>
+    <method name="binder" return="com.google.inject.PrivateBinder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the current binder.]]>
+      </doc>
+    </method>
+    <method name="bindScope"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="scopeAnnotation" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <param name="scope" type="com.google.inject.Scope"/>
+      <doc>
+      <![CDATA[@see Binder#bindScope(Class, Scope)]]>
+      </doc>
+    </method>
+    <method name="bind" return="com.google.inject.binder.LinkedBindingBuilder&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>
+      <doc>
+      <![CDATA[@see Binder#bind(Key)]]>
+      </doc>
+    </method>
+    <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <doc>
+      <![CDATA[@see Binder#bind(TypeLiteral)]]>
+      </doc>
+    </method>
+    <method name="bind" return="com.google.inject.binder.AnnotatedBindingBuilder&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="clazz" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
+      <![CDATA[@see Binder#bind(Class)]]>
+      </doc>
+    </method>
+    <method name="bindConstant" return="com.google.inject.binder.AnnotatedConstantBindingBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@see Binder#bindConstant()]]>
+      </doc>
+    </method>
+    <method name="install"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="module" type="com.google.inject.Module"/>
+      <doc>
+      <![CDATA[@see Binder#install(Module)]]>
+      </doc>
+    </method>
+    <method name="addError"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="message" type="java.lang.String"/>
+      <param name="arguments" type="java.lang.Object[]"/>
+      <doc>
+      <![CDATA[@see Binder#addError(String, Object[])]]>
+      </doc>
+    </method>
+    <method name="addError"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="t" type="java.lang.Throwable"/>
+      <doc>
+      <![CDATA[@see Binder#addError(Throwable)]]>
+      </doc>
+    </method>
+    <method name="addError"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="message" type="com.google.inject.spi.Message"/>
+      <doc>
+      <![CDATA[@see Binder#addError(Message)]]>
+      </doc>
+    </method>
+    <method name="requestInjection"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="instance" type="java.lang.Object"/>
+      <doc>
+      <![CDATA[@see Binder#requestInjection(Object)]]>
+      </doc>
+    </method>
+    <method name="requestStaticInjection"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="types" type="java.lang.Class[]"/>
+      <doc>
+      <![CDATA[@see Binder#requestStaticInjection(Class[])]]>
+      </doc>
+    </method>
+    <method name="bindInterceptor"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="classMatcher" type="com.google.inject.matcher.Matcher&lt;? super java.lang.Class&lt;?&gt;&gt;"/>
+      <param name="methodMatcher" type="com.google.inject.matcher.Matcher&lt;? super java.lang.reflect.Method&gt;"/>
+      <param name="interceptors" type="org.aopalliance.intercept.MethodInterceptor[]"/>
+      <doc>
+      <![CDATA[@see Binder#bindInterceptor(com.google.inject.matcher.Matcher, com.google.inject.matcher.Matcher, org.aopalliance.intercept.MethodInterceptor[])]]>
+      </doc>
+    </method>
+    <method name="requireBinding"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>
+      <doc>
+      <![CDATA[Instructs Guice to require a binding to the given key.]]>
+      </doc>
+    </method>
+    <method name="requireBinding"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;?&gt;"/>
+      <doc>
+      <![CDATA[Instructs Guice to require a binding to the given type.]]>
+      </doc>
+    </method>
+    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>
+      <doc>
+      <![CDATA[@see Binder#getProvider(Key)]]>
+      </doc>
+    </method>
+    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
+      <![CDATA[@see Binder#getProvider(Class)]]>
+      </doc>
+    </method>
+    <method name="convertToTypes"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="typeMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;"/>
+      <param name="converter" type="com.google.inject.spi.TypeConverter"/>
+      <doc>
+      <![CDATA[@see Binder#convertToTypes(com.google.inject.matcher.Matcher, com.google.inject.spi.TypeConverter)]]>
+      </doc>
+    </method>
+    <method name="currentStage" return="com.google.inject.Stage"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@see Binder#currentStage()]]>
+      </doc>
+    </method>
+    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
+      <![CDATA[@see Binder#getMembersInjector(Class)]]>
+      </doc>
+    </method>
+    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="type" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <doc>
+      <![CDATA[@see Binder#getMembersInjector(TypeLiteral)]]>
+      </doc>
+    </method>
+    <method name="bindListener"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="typeMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;"/>
+      <param name="listener" type="com.google.inject.spi.TypeListener"/>
+      <doc>
+      <![CDATA[@see Binder#bindListener(com.google.inject.matcher.Matcher, com.google.inject.spi.TypeListener)]]>
+      </doc>
+    </method>
+    <method name="bindListener"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="bindingMatcher" type="com.google.inject.matcher.Matcher&lt;? super com.google.inject.Binding&lt;?&gt;&gt;"/>
+      <param name="listeners" type="com.google.inject.spi.ProvisionListener[]"/>
+      <doc>
+      <![CDATA[@see Binder#bindListener(Matcher, ProvisionListener...)]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A module whose configuration information is hidden from its environment by default. Only bindings
  that are explicitly exposed will be available to other modules and to the users of the injector.
  This module may expose the bindings it creates and the bindings of the modules it installs.
@@ -2251,41 +2251,41 @@
  </pre>
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.PrivateModule -->

-  <!-- start class com.google.inject.ProvidedBy -->

-  <class name="ProvidedBy"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.PrivateModule -->
+  <!-- start class com.google.inject.ProvidedBy -->
+  <class name="ProvidedBy"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[A pointer to the default provider type for a type.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.ProvidedBy -->

-  <!-- start interface com.google.inject.Provider -->

-  <interface name="Provider"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="javax.inject.Provider&lt;T&gt;"/>

-    <method name="get" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.ProvidedBy -->
+  <!-- start interface com.google.inject.Provider -->
+  <interface name="Provider"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="javax.inject.Provider&lt;T&gt;"/>
+    <method name="get" return="T"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Provides an instance of {@code T}. Must never return {@code null}.
 
  @throws OutOfScopeException when an attempt is made to access a scoped object while the scope
      in question is not currently active
  @throws ProvisionException if an instance cannot be provided. Such exceptions include messages
-     and throwables to describe why provision failed.]]>

-      </doc>

-    </method>

-    <doc>

+     and throwables to describe why provision failed.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[An object capable of providing instances of type {@code T}. Providers are used in numerous ways
  by Guice:
 
@@ -2309,77 +2309,77 @@
 
  @param <T> the type of object this provides
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.Provider -->

-  <!-- start class com.google.inject.Provides -->

-  <class name="Provides"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.Provider -->
+  <!-- start class com.google.inject.Provides -->
+  <class name="Provides"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Annotates methods of a {@link Module} to create a provider method binding. The method's return
  type is bound to its returned value. Guice will pass dependencies to the method as parameters.
 
  @author crazybob@google.com (Bob Lee)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.Provides -->

-  <!-- start class com.google.inject.ProvisionException -->

-  <class name="ProvisionException" extends="java.lang.RuntimeException"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="ProvisionException" type="java.lang.Iterable&lt;com.google.inject.spi.Message&gt;"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Creates a ProvisionException containing {@code messages}.]]>

-      </doc>

-    </constructor>

-    <constructor name="ProvisionException" type="java.lang.String, java.lang.Throwable"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <constructor name="ProvisionException" type="java.lang.String"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getErrorMessages" return="java.util.Collection&lt;com.google.inject.spi.Message&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns messages for the errors that caused this exception.]]>

-      </doc>

-    </method>

-    <method name="getMessage" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.Provides -->
+  <!-- start class com.google.inject.ProvisionException -->
+  <class name="ProvisionException" extends="java.lang.RuntimeException"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="ProvisionException" type="java.lang.Iterable&lt;com.google.inject.spi.Message&gt;"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Creates a ProvisionException containing {@code messages}.]]>
+      </doc>
+    </constructor>
+    <constructor name="ProvisionException" type="java.lang.String, java.lang.Throwable"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <constructor name="ProvisionException" type="java.lang.String"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getErrorMessages" return="java.util.Collection&lt;com.google.inject.spi.Message&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns messages for the errors that caused this exception.]]>
+      </doc>
+    </method>
+    <method name="getMessage" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[Indicates that there was a runtime failure while providing an instance.
 
  @author kevinb@google.com (Kevin Bourrillion)
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.ProvisionException -->

-  <!-- start interface com.google.inject.Scope -->

-  <interface name="Scope"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="scope" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>

-      <param name="unscoped" type="com.google.inject.Provider&lt;T&gt;"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.ProvisionException -->
+  <!-- start interface com.google.inject.Scope -->
+  <interface name="Scope"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="scope" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>
+      <param name="unscoped" type="com.google.inject.Provider&lt;T&gt;"/>
+      <doc>
       <![CDATA[Scopes a provider. The returned provider returns objects from this scope.
  If an object does not exist in this scope, the provider can use the given
  unscoped provider to retrieve one.
@@ -2393,21 +2393,21 @@
   scope.
  @return a new provider which only delegates to the given unscoped provider
   when an instance of the requested object doesn't already exist in this
-  scope]]>

-      </doc>

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+  scope]]>
+      </doc>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[A short but useful description of this scope.  For comparison, the standard
  scopes that ship with guice use the descriptions
  {@code "Scopes.SINGLETON"}, {@code "ServletScopes.SESSION"} and
- {@code "ServletScopes.REQUEST"}.]]>

-      </doc>

-    </method>

-    <doc>

+ {@code "ServletScopes.REQUEST"}.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A scope is a level of visibility that instances provided by Guice may have.
  By default, an instance created by the {@link Injector} has <i>no scope</i>,
  meaning it has no state from the framework's perspective -- the
@@ -2418,16 +2418,16 @@
 
  <p>An example of a scope is {@link Scopes#SINGLETON}.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.Scope -->

-  <!-- start class com.google.inject.ScopeAnnotation -->

-  <class name="ScopeAnnotation"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.Scope -->
+  <!-- start class com.google.inject.ScopeAnnotation -->
+  <class name="ScopeAnnotation"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Annotates annotations which are used for scoping. Only one such annotation
  may apply to a single implementation class. You must also annotate scope
  annotations with {@code @Retention(RUNTIME)}. For example:
@@ -2439,37 +2439,37 @@
    public {@code @}interface SessionScoped {}
  </pre>
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.ScopeAnnotation -->

-  <!-- start class com.google.inject.Scopes -->

-  <class name="Scopes" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="isSingleton" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.Binding&lt;?&gt;"/>

-      <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.ScopeAnnotation -->
+  <!-- start class com.google.inject.Scopes -->
+  <class name="Scopes" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="isSingleton" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.Binding&lt;?&gt;"/>
+      <doc>
       <![CDATA[Returns true if {@code binding} is singleton-scoped. If the binding is a {@link
  com.google.inject.spi.LinkedKeyBinding linked key binding} and belongs to an injector (ie. it
  was retrieved via {@link Injector#getBinding Injector.getBinding()}), then this method will
  also true if the target binding is singleton-scoped.
 
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="isScoped" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.Binding&lt;?&gt;"/>

-      <param name="scope" type="com.google.inject.Scope"/>

-      <param name="scopeAnnotation" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="isScoped" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.Binding&lt;?&gt;"/>
+      <param name="scope" type="com.google.inject.Scope"/>
+      <param name="scopeAnnotation" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <doc>
       <![CDATA[Returns true if {@code binding} has the given scope. If the binding is a {@link
  com.google.inject.spi.LinkedKeyBinding linked key binding} and belongs to an injector (ie. it
  was retrieved via {@link Injector#getBinding Injector.getBinding()}), then this method will
@@ -2477,36 +2477,36 @@
 
  @param binding binding to check
  @param scope scope implementation instance
- @param scopeAnnotation scope annotation class]]>

-      </doc>

-    </method>

-    <method name="isCircularProxy" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="object" type="java.lang.Object"/>

-      <doc>

+ @param scopeAnnotation scope annotation class]]>
+      </doc>
+    </method>
+    <method name="isCircularProxy" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="object" type="java.lang.Object"/>
+      <doc>
       <![CDATA[Returns true if the object is a proxy for a circular dependency,
  constructed by Guice because it encountered a circular dependency. Scope
  implementations should be careful to <b>not cache circular proxies</b>,
  because the proxies are not intended for general purpose use. (They are
  designed just to fulfill the immediate injection, not all injections.
- Caching them can lead to IllegalArgumentExceptions or ClassCastExceptions.)]]>

-      </doc>

-    </method>

-    <field name="SINGLETON" type="com.google.inject.Scope"

-      transient="false" volatile="false"

-      static="true" final="true" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[One instance per {@link Injector}. Also see {@code @}{@link Singleton}.]]>

-      </doc>

-    </field>

-    <field name="NO_SCOPE" type="com.google.inject.Scope"

-      transient="false" volatile="false"

-      static="true" final="true" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ Caching them can lead to IllegalArgumentExceptions or ClassCastExceptions.)]]>
+      </doc>
+    </method>
+    <field name="SINGLETON" type="com.google.inject.Scope"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[One instance per {@link Injector}. Also see {@code @}{@link Singleton}.]]>
+      </doc>
+    </field>
+    <field name="NO_SCOPE" type="com.google.inject.Scope"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[No scope; the same as not applying any scope at all.  Each time the
  Injector obtains an instance of an object with "no scope", it injects this
  instance then immediately forgets it.  When the next request for the same
@@ -2516,184 +2516,184 @@
  annotation such as {@link Singleton @Singleton}, and you need to override
  this to "no scope" in your binding.
 
- @since 2.0]]>

-      </doc>

-    </field>

-    <doc>

+ @since 2.0]]>
+      </doc>
+    </field>
+    <doc>
     <![CDATA[Built-in scope implementations.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.Scopes -->

-  <!-- start class com.google.inject.Singleton -->

-  <class name="Singleton"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.Scopes -->
+  <!-- start class com.google.inject.Singleton -->
+  <class name="Singleton"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Apply this to implementation classes when you want only one instance
  (per {@link Injector}) to be reused for all injections for that binding.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.Singleton -->

-  <!-- start class com.google.inject.Stage -->

-  <class name="Stage" extends="java.lang.Enum&lt;com.google.inject.Stage&gt;"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="values" return="com.google.inject.Stage[]"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="valueOf" return="com.google.inject.Stage"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="name" type="java.lang.String"/>

-    </method>

-    <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.Singleton -->
+  <!-- start class com.google.inject.Stage -->
+  <class name="Stage" extends="java.lang.Enum&lt;com.google.inject.Stage&gt;"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="values" return="com.google.inject.Stage[]"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="valueOf" return="com.google.inject.Stage"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+    </method>
+    <doc>
     <![CDATA[The stage we're running in.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.Stage -->

-  <!-- start class com.google.inject.TypeLiteral -->

-  <class name="TypeLiteral" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="TypeLiteral"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.Stage -->
+  <!-- start class com.google.inject.TypeLiteral -->
+  <class name="TypeLiteral" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="TypeLiteral"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Constructs a new type literal. Derives represented class from type
  parameter.
 
  <p>Clients create an empty anonymous subclass. Doing so embeds the type
  parameter in the anonymous class's type hierarchy so we can reconstitute it
- at runtime despite erasure.]]>

-      </doc>

-    </constructor>

-    <method name="getRawType" return="java.lang.Class&lt;? super T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ at runtime despite erasure.]]>
+      </doc>
+    </constructor>
+    <method name="getRawType" return="java.lang.Class&lt;? super T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the raw (non-generic) type for this type.
  
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getType" return="java.lang.reflect.Type"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Gets underlying {@code Type} instance.]]>

-      </doc>

-    </method>

-    <method name="hashCode" return="int"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="equals" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="public"

-      deprecated="not deprecated">

-      <param name="o" type="java.lang.Object"/>

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="get" return="com.google.inject.TypeLiteral&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.reflect.Type"/>

-      <doc>

-      <![CDATA[Gets type literal for the given {@code Type} instance.]]>

-      </doc>

-    </method>

-    <method name="get" return="com.google.inject.TypeLiteral&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

-      <![CDATA[Gets type literal for the given {@code Class} instance.]]>

-      </doc>

-    </method>

-    <method name="getSupertype" return="com.google.inject.TypeLiteral&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="supertype" type="java.lang.Class&lt;?&gt;"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getType" return="java.lang.reflect.Type"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Gets underlying {@code Type} instance.]]>
+      </doc>
+    </method>
+    <method name="hashCode" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="equals" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+      <param name="o" type="java.lang.Object"/>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="get" return="com.google.inject.TypeLiteral&lt;?&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.reflect.Type"/>
+      <doc>
+      <![CDATA[Gets type literal for the given {@code Type} instance.]]>
+      </doc>
+    </method>
+    <method name="get" return="com.google.inject.TypeLiteral&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
+      <![CDATA[Gets type literal for the given {@code Class} instance.]]>
+      </doc>
+    </method>
+    <method name="getSupertype" return="com.google.inject.TypeLiteral&lt;?&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="supertype" type="java.lang.Class&lt;?&gt;"/>
+      <doc>
       <![CDATA[Returns the generic form of {@code supertype}. For example, if this is {@code
  ArrayList<String>}, this returns {@code Iterable<String>} given the input {@code
  Iterable.class}.
 
  @param supertype a superclass of, or interface implemented by, this.
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getFieldType" return="com.google.inject.TypeLiteral&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="field" type="java.lang.reflect.Field"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getFieldType" return="com.google.inject.TypeLiteral&lt;?&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="field" type="java.lang.reflect.Field"/>
+      <doc>
       <![CDATA[Returns the resolved generic type of {@code field}.
 
  @param field a field defined by this or any superclass.
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getParameterTypes" return="java.util.List&lt;com.google.inject.TypeLiteral&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="methodOrConstructor" type="java.lang.reflect.Member"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getParameterTypes" return="java.util.List&lt;com.google.inject.TypeLiteral&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="methodOrConstructor" type="java.lang.reflect.Member"/>
+      <doc>
       <![CDATA[Returns the resolved generic parameter types of {@code methodOrConstructor}.
 
  @param methodOrConstructor a method or constructor defined by this or any supertype.
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getExceptionTypes" return="java.util.List&lt;com.google.inject.TypeLiteral&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="methodOrConstructor" type="java.lang.reflect.Member"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getExceptionTypes" return="java.util.List&lt;com.google.inject.TypeLiteral&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="methodOrConstructor" type="java.lang.reflect.Member"/>
+      <doc>
       <![CDATA[Returns the resolved generic exception types thrown by {@code constructor}.
 
  @param methodOrConstructor a method or constructor defined by this or any supertype.
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getReturnType" return="com.google.inject.TypeLiteral&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="method" type="java.lang.reflect.Method"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getReturnType" return="com.google.inject.TypeLiteral&lt;?&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="method" type="java.lang.reflect.Method"/>
+      <doc>
       <![CDATA[Returns the resolved generic return type of {@code method}.
 
  @param method a method defined by this or any supertype.
- @since 2.0]]>

-      </doc>

-    </method>

-    <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Represents a generic type {@code T}. Java doesn't yet provide a way to
  represent generic types, so this class does. Forces clients to create a
  subclass of this class which enables retrieval the type information even at
@@ -2716,31 +2716,31 @@
    System.out.println(keySetType); // prints "Set<Integer>"}</pre>
 
  @author crazybob@google.com (Bob Lee)
- @author jessewilson@google.com (Jesse Wilson)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.TypeLiteral -->

-</package>

-<package name="com.google.inject.assistedinject">

-  <!-- start class com.google.inject.assistedinject.Assisted -->

-  <class name="Assisted"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @author jessewilson@google.com (Jesse Wilson)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.TypeLiteral -->
+</package>
+<package name="com.google.inject.assistedinject">
+  <!-- start class com.google.inject.assistedinject.Assisted -->
+  <class name="Assisted"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Annotates an injected parameter or field whose value comes from an argument to a factory method.
 
  @author jmourits@google.com (Jerome Mourits)
- @author jessewilson@google.com (Jesse Wilson)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.assistedinject.Assisted -->

-  <!-- start class com.google.inject.assistedinject.AssistedInject -->

-  <class name="AssistedInject"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @author jessewilson@google.com (Jesse Wilson)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.assistedinject.Assisted -->
+  <!-- start class com.google.inject.assistedinject.AssistedInject -->
+  <class name="AssistedInject"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[<p>
  When used in tandem with {@link FactoryModuleBuilder}, constructors annotated with 
  {@code @AssistedInject} indicate that multiple constructors can be injected, each with different
@@ -2763,294 +2763,294 @@
  <code>@Assisted</code>, or they must be injectable.
  
  @author jmourits@google.com (Jerome Mourits)
- @author jessewilson@google.com (Jesse Wilson)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.assistedinject.AssistedInject -->

-  <!-- start interface com.google.inject.assistedinject.AssistedInjectBinding -->

-  <interface name="AssistedInjectBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="getKey" return="com.google.inject.Key&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the {@link Key} for the factory binding.]]>

-      </doc>

-    </method>

-    <method name="getAssistedMethods" return="java.util.Collection&lt;com.google.inject.assistedinject.AssistedMethod&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns an {@link AssistedMethod} for each method in the factory.]]>

-      </doc>

-    </method>

-    <doc>

+ @author jessewilson@google.com (Jesse Wilson)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.assistedinject.AssistedInject -->
+  <!-- start interface com.google.inject.assistedinject.AssistedInjectBinding -->
+  <interface name="AssistedInjectBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getKey" return="com.google.inject.Key&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the {@link Key} for the factory binding.]]>
+      </doc>
+    </method>
+    <method name="getAssistedMethods" return="java.util.Collection&lt;com.google.inject.assistedinject.AssistedMethod&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns an {@link AssistedMethod} for each method in the factory.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A binding for a factory created by FactoryModuleBuilder.
  
  @param <T> The fully qualified type of the factory.
   
  @since 3.0
- @author ramakrishna@google.com (Ramakrishna Rajanna)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.assistedinject.AssistedInjectBinding -->

-  <!-- start interface com.google.inject.assistedinject.AssistedInjectTargetVisitor -->

-  <interface name="AssistedInjectTargetVisitor"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.BindingTargetVisitor&lt;T, V&gt;"/>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="assistedInjectBinding" type="com.google.inject.assistedinject.AssistedInjectBinding&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[Visits an {@link AssistedInjectBinding} created through {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <doc>

+ @author ramakrishna@google.com (Ramakrishna Rajanna)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.assistedinject.AssistedInjectBinding -->
+  <!-- start interface com.google.inject.assistedinject.AssistedInjectTargetVisitor -->
+  <interface name="AssistedInjectTargetVisitor"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.BindingTargetVisitor&lt;T, V&gt;"/>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="assistedInjectBinding" type="com.google.inject.assistedinject.AssistedInjectBinding&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[Visits an {@link AssistedInjectBinding} created through {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A visitor for the AssistedInject extension.
  <p>
  If your {@link BindingTargetVisitor} implements this interface, bindings created by using
  {@link FactoryModuleBuilder} will be visited through this interface.
 
  @since 3.0
- @author ramakrishna@google.com (Ramakrishna Rajanna)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.assistedinject.AssistedInjectTargetVisitor -->

-  <!-- start interface com.google.inject.assistedinject.AssistedMethod -->

-  <interface name="AssistedMethod"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="getFactoryMethod" return="java.lang.reflect.Method"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the factory method that is being assisted.]]>

-      </doc>

-    </method>

-    <method name="getImplementationType" return="com.google.inject.TypeLiteral&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @author ramakrishna@google.com (Ramakrishna Rajanna)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.assistedinject.AssistedInjectTargetVisitor -->
+  <!-- start interface com.google.inject.assistedinject.AssistedMethod -->
+  <interface name="AssistedMethod"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getFactoryMethod" return="java.lang.reflect.Method"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the factory method that is being assisted.]]>
+      </doc>
+    </method>
+    <method name="getImplementationType" return="com.google.inject.TypeLiteral&lt;?&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the implementation type that will be created when the method is
- used.]]>

-      </doc>

-    </method>

-    <method name="getImplementationConstructor" return="java.lang.reflect.Constructor&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ used.]]>
+      </doc>
+    </method>
+    <method name="getImplementationConstructor" return="java.lang.reflect.Constructor&lt;?&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the constructor that will be used to construct instances of the 
- implementation.]]>

-      </doc>

-    </method>

-    <method name="getDependencies" return="java.util.Set&lt;com.google.inject.spi.Dependency&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ implementation.]]>
+      </doc>
+    </method>
+    <method name="getDependencies" return="java.util.Set&lt;com.google.inject.spi.Dependency&lt;?&gt;&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns all non-assisted dependencies required to construct and inject
- the implementation.]]>

-      </doc>

-    </method>

-    <doc>

+ the implementation.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Details about how a method in an assisted inject factory will be assisted.
  
  @since 3.0
- @author ramakrishna@google.com (Ramakrishna Rajanna)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.assistedinject.AssistedMethod -->

-  <!-- start class com.google.inject.assistedinject.FactoryModuleBuilder -->

-  <class name="FactoryModuleBuilder" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="FactoryModuleBuilder"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="java.lang.Class&lt;T&gt;"/>

-      <param name="target" type="java.lang.Class&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="java.lang.Class&lt;T&gt;"/>

-      <param name="target" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <param name="target" type="java.lang.Class&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <param name="target" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="java.lang.Class&lt;T&gt;"/>

-      <param name="annotation" type="java.lang.annotation.Annotation"/>

-      <param name="target" type="java.lang.Class&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="java.lang.Class&lt;T&gt;"/>

-      <param name="annotation" type="java.lang.annotation.Annotation"/>

-      <param name="target" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <param name="annotation" type="java.lang.annotation.Annotation"/>

-      <param name="target" type="java.lang.Class&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <param name="annotation" type="java.lang.annotation.Annotation"/>

-      <param name="target" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="java.lang.Class&lt;T&gt;"/>

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <param name="target" type="java.lang.Class&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="java.lang.Class&lt;T&gt;"/>

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <param name="target" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <param name="target" type="java.lang.Class&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <param name="target" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="com.google.inject.Key&lt;T&gt;"/>

-      <param name="target" type="java.lang.Class&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="com.google.inject.Key&lt;T&gt;"/>

-      <param name="target" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <method name="build" return="com.google.inject.Module"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="factoryInterface" type="java.lang.Class&lt;F&gt;"/>

-      <doc>

-      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <method name="build" return="com.google.inject.Module"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="factoryInterface" type="com.google.inject.TypeLiteral&lt;F&gt;"/>

-      <doc>

-      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>

-      </doc>

-    </method>

-    <method name="build" return="com.google.inject.Module"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="factoryInterface" type="com.google.inject.Key&lt;F&gt;"/>

-    </method>

-    <doc>

+ @author ramakrishna@google.com (Ramakrishna Rajanna)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.assistedinject.AssistedMethod -->
+  <!-- start class com.google.inject.assistedinject.FactoryModuleBuilder -->
+  <class name="FactoryModuleBuilder" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="FactoryModuleBuilder"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="java.lang.Class&lt;T&gt;"/>
+      <param name="target" type="java.lang.Class&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="java.lang.Class&lt;T&gt;"/>
+      <param name="target" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <param name="target" type="java.lang.Class&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <param name="target" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="java.lang.Class&lt;T&gt;"/>
+      <param name="annotation" type="java.lang.annotation.Annotation"/>
+      <param name="target" type="java.lang.Class&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="java.lang.Class&lt;T&gt;"/>
+      <param name="annotation" type="java.lang.annotation.Annotation"/>
+      <param name="target" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <param name="annotation" type="java.lang.annotation.Annotation"/>
+      <param name="target" type="java.lang.Class&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <param name="annotation" type="java.lang.annotation.Annotation"/>
+      <param name="target" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="java.lang.Class&lt;T&gt;"/>
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <param name="target" type="java.lang.Class&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="java.lang.Class&lt;T&gt;"/>
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <param name="target" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <param name="target" type="java.lang.Class&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <param name="target" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="com.google.inject.Key&lt;T&gt;"/>
+      <param name="target" type="java.lang.Class&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <method name="implement" return="com.google.inject.assistedinject.FactoryModuleBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="com.google.inject.Key&lt;T&gt;"/>
+      <param name="target" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <method name="build" return="com.google.inject.Module"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="factoryInterface" type="java.lang.Class&lt;F&gt;"/>
+      <doc>
+      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <method name="build" return="com.google.inject.Module"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="factoryInterface" type="com.google.inject.TypeLiteral&lt;F&gt;"/>
+      <doc>
+      <![CDATA[See the factory configuration examples at {@link FactoryModuleBuilder}.]]>
+      </doc>
+    </method>
+    <method name="build" return="com.google.inject.Module"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="factoryInterface" type="com.google.inject.Key&lt;F&gt;"/>
+    </method>
+    <doc>
     <![CDATA[Provides a factory that combines the caller's arguments with injector-supplied values to
  construct objects.
 
@@ -3225,42 +3225,42 @@
  accepts a {@code Provider} as one of its arguments.
 
  @since 3.0
- @author schmitt@google.com (Peter Schmitt)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.assistedinject.FactoryModuleBuilder -->

-  <!-- start class com.google.inject.assistedinject.FactoryProvider -->

-  <class name="FactoryProvider" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="use {@link FactoryModuleBuilder} instead.">

-    <implements name="com.google.inject.Provider&lt;F&gt;"/>

-    <implements name="com.google.inject.spi.HasDependencies"/>

-    <method name="newFactory" return="com.google.inject.Provider&lt;F&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="factoryType" type="java.lang.Class&lt;F&gt;"/>

-      <param name="implementationType" type="java.lang.Class&lt;?&gt;"/>

-    </method>

-    <method name="newFactory" return="com.google.inject.Provider&lt;F&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="factoryType" type="com.google.inject.TypeLiteral&lt;F&gt;"/>

-      <param name="implementationType" type="com.google.inject.TypeLiteral&lt;?&gt;"/>

-    </method>

-    <method name="getDependencies" return="java.util.Set&lt;com.google.inject.spi.Dependency&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="get" return="F"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @author schmitt@google.com (Peter Schmitt)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.assistedinject.FactoryModuleBuilder -->
+  <!-- start class com.google.inject.assistedinject.FactoryProvider -->
+  <class name="FactoryProvider" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="use {@link FactoryModuleBuilder} instead.">
+    <implements name="com.google.inject.Provider&lt;F&gt;"/>
+    <implements name="com.google.inject.spi.HasDependencies"/>
+    <method name="newFactory" return="com.google.inject.Provider&lt;F&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="factoryType" type="java.lang.Class&lt;F&gt;"/>
+      <param name="implementationType" type="java.lang.Class&lt;?&gt;"/>
+    </method>
+    <method name="newFactory" return="com.google.inject.Provider&lt;F&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="factoryType" type="com.google.inject.TypeLiteral&lt;F&gt;"/>
+      <param name="implementationType" type="com.google.inject.TypeLiteral&lt;?&gt;"/>
+    </method>
+    <method name="getDependencies" return="java.util.Set&lt;com.google.inject.spi.Dependency&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="get" return="F"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[<strong>Obsolete.</strong> Prefer {@link FactoryModuleBuilder} for its more concise API and
  additional capability.
 
@@ -3361,2160 +3361,2171 @@
  @author jessewilson@google.com (Jesse Wilson)
  @author dtm@google.com (Daniel Martin)
  
- @deprecated use {@link FactoryModuleBuilder} instead.]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.assistedinject.FactoryProvider -->

-</package>

-<package name="com.google.inject.binder">

-  <!-- start interface com.google.inject.binder.AnnotatedBindingBuilder -->

-  <interface name="AnnotatedBindingBuilder"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.binder.LinkedBindingBuilder&lt;T&gt;"/>

-    <method name="annotatedWith" return="com.google.inject.binder.LinkedBindingBuilder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>

-      </doc>

-    </method>

-    <method name="annotatedWith" return="com.google.inject.binder.LinkedBindingBuilder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="annotation" type="java.lang.annotation.Annotation"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>

-      </doc>

-    </method>

-    <doc>

+ @deprecated use {@link FactoryModuleBuilder} instead.]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.assistedinject.FactoryProvider -->
+</package>
+<package name="com.google.inject.binder">
+  <!-- start interface com.google.inject.binder.AnnotatedBindingBuilder -->
+  <interface name="AnnotatedBindingBuilder"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.binder.LinkedBindingBuilder&lt;T&gt;"/>
+    <method name="annotatedWith" return="com.google.inject.binder.LinkedBindingBuilder&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>
+      </doc>
+    </method>
+    <method name="annotatedWith" return="com.google.inject.binder.LinkedBindingBuilder&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="annotation" type="java.lang.annotation.Annotation"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.binder.AnnotatedBindingBuilder -->

-  <!-- start interface com.google.inject.binder.AnnotatedConstantBindingBuilder -->

-  <interface name="AnnotatedConstantBindingBuilder"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="annotatedWith" return="com.google.inject.binder.ConstantBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>

-      </doc>

-    </method>

-    <method name="annotatedWith" return="com.google.inject.binder.ConstantBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="annotation" type="java.lang.annotation.Annotation"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>

-      </doc>

-    </method>

-    <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.binder.AnnotatedBindingBuilder -->
+  <!-- start interface com.google.inject.binder.AnnotatedConstantBindingBuilder -->
+  <interface name="AnnotatedConstantBindingBuilder"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="annotatedWith" return="com.google.inject.binder.ConstantBindingBuilder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>
+      </doc>
+    </method>
+    <method name="annotatedWith" return="com.google.inject.binder.ConstantBindingBuilder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="annotation" type="java.lang.annotation.Annotation"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.binder.AnnotatedConstantBindingBuilder -->

-  <!-- start interface com.google.inject.binder.AnnotatedElementBuilder -->

-  <interface name="AnnotatedElementBuilder"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="annotatedWith"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>

-      </doc>

-    </method>

-    <method name="annotatedWith"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="annotation" type="java.lang.annotation.Annotation"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>

-      </doc>

-    </method>

-    <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.binder.AnnotatedConstantBindingBuilder -->
+  <!-- start interface com.google.inject.binder.AnnotatedElementBuilder -->
+  <interface name="AnnotatedElementBuilder"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="annotatedWith"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>
+      </doc>
+    </method>
+    <method name="annotatedWith"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="annotation" type="java.lang.annotation.Annotation"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.binder.AnnotatedElementBuilder -->

-  <!-- start interface com.google.inject.binder.ConstantBindingBuilder -->

-  <interface name="ConstantBindingBuilder"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="to"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="value" type="java.lang.String"/>

-      <doc>

-      <![CDATA[Binds constant to the given value.]]>

-      </doc>

-    </method>

-    <method name="to"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="value" type="int"/>

-      <doc>

-      <![CDATA[Binds constant to the given value.]]>

-      </doc>

-    </method>

-    <method name="to"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="value" type="long"/>

-      <doc>

-      <![CDATA[Binds constant to the given value.]]>

-      </doc>

-    </method>

-    <method name="to"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="value" type="boolean"/>

-      <doc>

-      <![CDATA[Binds constant to the given value.]]>

-      </doc>

-    </method>

-    <method name="to"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="value" type="double"/>

-      <doc>

-      <![CDATA[Binds constant to the given value.]]>

-      </doc>

-    </method>

-    <method name="to"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="value" type="float"/>

-      <doc>

-      <![CDATA[Binds constant to the given value.]]>

-      </doc>

-    </method>

-    <method name="to"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="value" type="short"/>

-      <doc>

-      <![CDATA[Binds constant to the given value.]]>

-      </doc>

-    </method>

-    <method name="to"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="value" type="char"/>

-      <doc>

-      <![CDATA[Binds constant to the given value.]]>

-      </doc>

-    </method>

-    <method name="to"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="value" type="byte"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.binder.AnnotatedElementBuilder -->
+  <!-- start interface com.google.inject.binder.ConstantBindingBuilder -->
+  <interface name="ConstantBindingBuilder"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="to"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="value" type="java.lang.String"/>
+      <doc>
+      <![CDATA[Binds constant to the given value.]]>
+      </doc>
+    </method>
+    <method name="to"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="value" type="int"/>
+      <doc>
+      <![CDATA[Binds constant to the given value.]]>
+      </doc>
+    </method>
+    <method name="to"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="value" type="long"/>
+      <doc>
+      <![CDATA[Binds constant to the given value.]]>
+      </doc>
+    </method>
+    <method name="to"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="value" type="boolean"/>
+      <doc>
+      <![CDATA[Binds constant to the given value.]]>
+      </doc>
+    </method>
+    <method name="to"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="value" type="double"/>
+      <doc>
+      <![CDATA[Binds constant to the given value.]]>
+      </doc>
+    </method>
+    <method name="to"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="value" type="float"/>
+      <doc>
+      <![CDATA[Binds constant to the given value.]]>
+      </doc>
+    </method>
+    <method name="to"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="value" type="short"/>
+      <doc>
+      <![CDATA[Binds constant to the given value.]]>
+      </doc>
+    </method>
+    <method name="to"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="value" type="char"/>
+      <doc>
+      <![CDATA[Binds constant to the given value.]]>
+      </doc>
+    </method>
+    <method name="to"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="value" type="byte"/>
+      <doc>
       <![CDATA[Binds constant to the given value.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="to"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="value" type="java.lang.Class&lt;?&gt;"/>

-      <doc>

-      <![CDATA[Binds constant to the given value.]]>

-      </doc>

-    </method>

-    <method name="to"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="value" type="E extends java.lang.Enum&lt;E&gt;"/>

-      <doc>

-      <![CDATA[Binds constant to the given value.]]>

-      </doc>

-    </method>

-    <doc>

-    <![CDATA[Binds to a constant value.]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.binder.ConstantBindingBuilder -->

-  <!-- start interface com.google.inject.binder.LinkedBindingBuilder -->

-  <interface name="LinkedBindingBuilder"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.binder.ScopedBindingBuilder"/>

-    <method name="to" return="com.google.inject.binder.ScopedBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="implementation" type="java.lang.Class&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>

-      </doc>

-    </method>

-    <method name="to" return="com.google.inject.binder.ScopedBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="implementation" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>

-      </doc>

-    </method>

-    <method name="to" return="com.google.inject.binder.ScopedBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="targetKey" type="com.google.inject.Key&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>

-      </doc>

-    </method>

-    <method name="toInstance"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="instance" type="T"/>

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="to"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="value" type="java.lang.Class&lt;?&gt;"/>
+      <doc>
+      <![CDATA[Binds constant to the given value.]]>
+      </doc>
+    </method>
+    <method name="to"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="value" type="E extends java.lang.Enum&lt;E&gt;"/>
+      <doc>
+      <![CDATA[Binds constant to the given value.]]>
+      </doc>
+    </method>
+    <doc>
+    <![CDATA[Binds to a constant value.]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.binder.ConstantBindingBuilder -->
+  <!-- start interface com.google.inject.binder.LinkedBindingBuilder -->
+  <interface name="LinkedBindingBuilder"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.binder.ScopedBindingBuilder"/>
+    <method name="to" return="com.google.inject.binder.ScopedBindingBuilder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="implementation" type="java.lang.Class&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>
+      </doc>
+    </method>
+    <method name="to" return="com.google.inject.binder.ScopedBindingBuilder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="implementation" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>
+      </doc>
+    </method>
+    <method name="to" return="com.google.inject.binder.ScopedBindingBuilder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="targetKey" type="com.google.inject.Key&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>
+      </doc>
+    </method>
+    <method name="toInstance"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="instance" type="T"/>
+      <doc>
       <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.
 
- @see com.google.inject.Injector#injectMembers]]>

-      </doc>

-    </method>

-    <method name="toProvider" return="com.google.inject.binder.ScopedBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="provider" type="com.google.inject.Provider&lt;? extends T&gt;"/>

-      <doc>

+ @see com.google.inject.Injector#injectMembers]]>
+      </doc>
+    </method>
+    <method name="toProvider" return="com.google.inject.binder.ScopedBindingBuilder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="provider" type="com.google.inject.Provider&lt;? extends T&gt;"/>
+      <doc>
       <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.
 
- @see com.google.inject.Injector#injectMembers]]>

-      </doc>

-    </method>

-    <method name="toProvider" return="com.google.inject.binder.ScopedBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="providerType" type="java.lang.Class&lt;? extends javax.inject.Provider&lt;? extends T&gt;&gt;"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>

-      </doc>

-    </method>

-    <method name="toProvider" return="com.google.inject.binder.ScopedBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="providerType" type="com.google.inject.TypeLiteral&lt;? extends javax.inject.Provider&lt;? extends T&gt;&gt;"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>

-      </doc>

-    </method>

-    <method name="toProvider" return="com.google.inject.binder.ScopedBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="providerKey" type="com.google.inject.Key&lt;? extends javax.inject.Provider&lt;? extends T&gt;&gt;"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>

-      </doc>

-    </method>

-    <method name="toConstructor" return="com.google.inject.binder.ScopedBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="constructor" type="java.lang.reflect.Constructor&lt;S&gt;"/>

-      <doc>

+ @see com.google.inject.Injector#injectMembers]]>
+      </doc>
+    </method>
+    <method name="toProvider" return="com.google.inject.binder.ScopedBindingBuilder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="provider" type="javax.inject.Provider&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.
+
+ @see com.google.inject.Injector#injectMembers]]>
+      </doc>
+    </method>
+    <method name="toProvider" return="com.google.inject.binder.ScopedBindingBuilder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="providerType" type="java.lang.Class&lt;? extends javax.inject.Provider&lt;? extends T&gt;&gt;"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>
+      </doc>
+    </method>
+    <method name="toProvider" return="com.google.inject.binder.ScopedBindingBuilder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="providerType" type="com.google.inject.TypeLiteral&lt;? extends javax.inject.Provider&lt;? extends T&gt;&gt;"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>
+      </doc>
+    </method>
+    <method name="toProvider" return="com.google.inject.binder.ScopedBindingBuilder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="providerKey" type="com.google.inject.Key&lt;? extends javax.inject.Provider&lt;? extends T&gt;&gt;"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>
+      </doc>
+    </method>
+    <method name="toConstructor" return="com.google.inject.binder.ScopedBindingBuilder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="constructor" type="java.lang.reflect.Constructor&lt;S&gt;"/>
+      <doc>
       <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="toConstructor" return="com.google.inject.binder.ScopedBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="constructor" type="java.lang.reflect.Constructor&lt;S&gt;"/>

-      <param name="type" type="com.google.inject.TypeLiteral&lt;? extends S&gt;"/>

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="toConstructor" return="com.google.inject.binder.ScopedBindingBuilder"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="constructor" type="java.lang.reflect.Constructor&lt;S&gt;"/>
+      <param name="type" type="com.google.inject.TypeLiteral&lt;? extends S&gt;"/>
+      <doc>
       <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.binder.LinkedBindingBuilder -->

-  <!-- start interface com.google.inject.binder.ScopedBindingBuilder -->

-  <interface name="ScopedBindingBuilder"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="in"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="scopeAnnotation" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>

-      </doc>

-    </method>

-    <method name="in"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="scope" type="com.google.inject.Scope"/>

-      <doc>

-      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>

-      </doc>

-    </method>

-    <method name="asEagerSingleton"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.binder.LinkedBindingBuilder -->
+  <!-- start interface com.google.inject.binder.ScopedBindingBuilder -->
+  <interface name="ScopedBindingBuilder"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="in"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="scopeAnnotation" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>
+      </doc>
+    </method>
+    <method name="in"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="scope" type="com.google.inject.Scope"/>
+      <doc>
+      <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.]]>
+      </doc>
+    </method>
+    <method name="asEagerSingleton"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Instructs the {@link com.google.inject.Injector} to eagerly initialize this
  singleton-scoped binding upon creation. Useful for application
  initialization logic.  See the EDSL examples at
- {@link com.google.inject.Binder}.]]>

-      </doc>

-    </method>

-    <doc>

+ {@link com.google.inject.Binder}.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[See the EDSL examples at {@link com.google.inject.Binder}.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.binder.ScopedBindingBuilder -->

-</package>

-<package name="com.google.inject.grapher">

-  <!-- start class com.google.inject.grapher.AbstractInjectorGrapher -->

-  <class name="AbstractInjectorGrapher" extends="java.lang.Object"

-    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.grapher.InjectorGrapher"/>

-    <constructor name="AbstractInjectorGrapher"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <constructor name="AbstractInjectorGrapher" type="com.google.inject.grapher.AbstractInjectorGrapher.GrapherParameters"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="graph"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="public"

-      deprecated="not deprecated">

-      <param name="injector" type="com.google.inject.Injector"/>

-      <exception name="IOException" type="java.io.IOException"/>

-    </method>

-    <method name="graph"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="public"

-      deprecated="not deprecated">

-      <param name="injector" type="com.google.inject.Injector"/>

-      <param name="root" type="java.util.Set&lt;com.google.inject.Key&lt;?&gt;&gt;"/>

-      <exception name="IOException" type="java.io.IOException"/>

-    </method>

-    <method name="reset"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <exception name="IOException" type="java.io.IOException"/>

-      <doc>

-      <![CDATA[Resets the state of the grapher before rendering a new graph.]]>

-      </doc>

-    </method>

-    <method name="newInterfaceNode"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="node" type="com.google.inject.grapher.InterfaceNode"/>

-      <exception name="IOException" type="java.io.IOException"/>

-      <doc>

-      <![CDATA[Adds a new interface node to the graph.]]>

-      </doc>

-    </method>

-    <method name="newImplementationNode"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="node" type="com.google.inject.grapher.ImplementationNode"/>

-      <exception name="IOException" type="java.io.IOException"/>

-      <doc>

-      <![CDATA[Adds a new implementation node to the graph.]]>

-      </doc>

-    </method>

-    <method name="newInstanceNode"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="node" type="com.google.inject.grapher.InstanceNode"/>

-      <exception name="IOException" type="java.io.IOException"/>

-      <doc>

-      <![CDATA[Adds a new instance node to the graph.]]>

-      </doc>

-    </method>

-    <method name="newDependencyEdge"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="edge" type="com.google.inject.grapher.DependencyEdge"/>

-      <exception name="IOException" type="java.io.IOException"/>

-      <doc>

-      <![CDATA[Adds a new dependency edge to the graph.]]>

-      </doc>

-    </method>

-    <method name="newBindingEdge"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="edge" type="com.google.inject.grapher.BindingEdge"/>

-      <exception name="IOException" type="java.io.IOException"/>

-      <doc>

-      <![CDATA[Adds a new binding edge to the graph.]]>

-      </doc>

-    </method>

-    <method name="postProcess"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <exception name="IOException" type="java.io.IOException"/>

-      <doc>

-      <![CDATA[Performs any post processing required after all nodes and edges have been added.]]>

-      </doc>

-    </method>

-    <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.binder.ScopedBindingBuilder -->
+</package>
+<package name="com.google.inject.grapher">
+  <!-- start class com.google.inject.grapher.AbstractInjectorGrapher -->
+  <class name="AbstractInjectorGrapher" extends="java.lang.Object"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.grapher.InjectorGrapher"/>
+    <constructor name="AbstractInjectorGrapher"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <constructor name="AbstractInjectorGrapher" type="com.google.inject.grapher.AbstractInjectorGrapher.GrapherParameters"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="graph"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+      <param name="injector" type="com.google.inject.Injector"/>
+      <exception name="IOException" type="java.io.IOException"/>
+    </method>
+    <method name="graph"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+      <param name="injector" type="com.google.inject.Injector"/>
+      <param name="root" type="java.util.Set&lt;com.google.inject.Key&lt;?&gt;&gt;"/>
+      <exception name="IOException" type="java.io.IOException"/>
+    </method>
+    <method name="reset"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Resets the state of the grapher before rendering a new graph.]]>
+      </doc>
+    </method>
+    <method name="newInterfaceNode"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="node" type="com.google.inject.grapher.InterfaceNode"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Adds a new interface node to the graph.]]>
+      </doc>
+    </method>
+    <method name="newImplementationNode"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="node" type="com.google.inject.grapher.ImplementationNode"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Adds a new implementation node to the graph.]]>
+      </doc>
+    </method>
+    <method name="newInstanceNode"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="node" type="com.google.inject.grapher.InstanceNode"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Adds a new instance node to the graph.]]>
+      </doc>
+    </method>
+    <method name="newDependencyEdge"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="edge" type="com.google.inject.grapher.DependencyEdge"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Adds a new dependency edge to the graph.]]>
+      </doc>
+    </method>
+    <method name="newBindingEdge"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="edge" type="com.google.inject.grapher.BindingEdge"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Adds a new binding edge to the graph.]]>
+      </doc>
+    </method>
+    <method name="postProcess"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Performs any post processing required after all nodes and edges have been added.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Abstract injector grapher that builds the dependency graph but doesn't render it.
 
- @author bojand@google.com (Bojan Djordjevic)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.AbstractInjectorGrapher -->

-  <!-- start class com.google.inject.grapher.AbstractInjectorGrapher.GrapherParameters -->

-  <class name="AbstractInjectorGrapher.GrapherParameters" extends="java.lang.Object"

-    abstract="false"

-    static="true" final="true" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="AbstractInjectorGrapher.GrapherParameters"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getRootKeySetCreator" return="com.google.inject.grapher.RootKeySetCreator"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setRootKeySetCreator" return="com.google.inject.grapher.AbstractInjectorGrapher.GrapherParameters"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="rootKeySetCreator" type="com.google.inject.grapher.RootKeySetCreator"/>

-    </method>

-    <method name="getAliasCreator" return="com.google.inject.grapher.AliasCreator"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setAliasCreator" return="com.google.inject.grapher.AbstractInjectorGrapher.GrapherParameters"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="aliasCreator" type="com.google.inject.grapher.AliasCreator"/>

-    </method>

-    <method name="getNodeCreator" return="com.google.inject.grapher.NodeCreator"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setNodeCreator" return="com.google.inject.grapher.AbstractInjectorGrapher.GrapherParameters"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="nodeCreator" type="com.google.inject.grapher.NodeCreator"/>

-    </method>

-    <method name="getEdgeCreator" return="com.google.inject.grapher.EdgeCreator"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setEdgeCreator" return="com.google.inject.grapher.AbstractInjectorGrapher.GrapherParameters"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="edgeCreator" type="com.google.inject.grapher.EdgeCreator"/>

-    </method>

-    <doc>

-    <![CDATA[Parameters used to override default settings of the grapher.]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.AbstractInjectorGrapher.GrapherParameters -->

-  <!-- start class com.google.inject.grapher.Alias -->

-  <class name="Alias" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="Alias" type="com.google.inject.grapher.NodeId, com.google.inject.grapher.NodeId"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getFromId" return="com.google.inject.grapher.NodeId"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getToId" return="com.google.inject.grapher.NodeId"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @author bojand@google.com (Bojan Djordjevic)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.AbstractInjectorGrapher -->
+  <!-- start class com.google.inject.grapher.AbstractInjectorGrapher.GrapherParameters -->
+  <class name="AbstractInjectorGrapher.GrapherParameters" extends="java.lang.Object"
+    abstract="false"
+    static="true" final="true" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="GrapherParameters"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getRootKeySetCreator" return="com.google.inject.grapher.RootKeySetCreator"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setRootKeySetCreator" return="com.google.inject.grapher.AbstractInjectorGrapher.GrapherParameters"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="rootKeySetCreator" type="com.google.inject.grapher.RootKeySetCreator"/>
+    </method>
+    <method name="getAliasCreator" return="com.google.inject.grapher.AliasCreator"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setAliasCreator" return="com.google.inject.grapher.AbstractInjectorGrapher.GrapherParameters"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="aliasCreator" type="com.google.inject.grapher.AliasCreator"/>
+    </method>
+    <method name="getNodeCreator" return="com.google.inject.grapher.NodeCreator"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setNodeCreator" return="com.google.inject.grapher.AbstractInjectorGrapher.GrapherParameters"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="nodeCreator" type="com.google.inject.grapher.NodeCreator"/>
+    </method>
+    <method name="getEdgeCreator" return="com.google.inject.grapher.EdgeCreator"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setEdgeCreator" return="com.google.inject.grapher.AbstractInjectorGrapher.GrapherParameters"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="edgeCreator" type="com.google.inject.grapher.EdgeCreator"/>
+    </method>
+    <doc>
+    <![CDATA[Parameters used to override default settings of the grapher.]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.AbstractInjectorGrapher.GrapherParameters -->
+  <!-- start class com.google.inject.grapher.Alias -->
+  <class name="Alias" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="Alias" type="com.google.inject.grapher.NodeId, com.google.inject.grapher.NodeId"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getFromId" return="com.google.inject.grapher.NodeId"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getToId" return="com.google.inject.grapher.NodeId"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[Alias between two nodes. Causes the 'from' node to be aliased with the 'to' node, which means
  that the 'from' node is not rendered and all edges going to it instead go to the 'to' node.
 
- @author bojand@google.com (Bojan Djordjevic)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.Alias -->

-  <!-- start interface com.google.inject.grapher.AliasCreator -->

-  <interface name="AliasCreator"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="createAliases" return="java.lang.Iterable&lt;com.google.inject.grapher.Alias&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="bindings" type="java.lang.Iterable&lt;com.google.inject.Binding&lt;?&gt;&gt;"/>

-      <doc>

+ @author bojand@google.com (Bojan Djordjevic)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.Alias -->
+  <!-- start interface com.google.inject.grapher.AliasCreator -->
+  <interface name="AliasCreator"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="createAliases" return="java.lang.Iterable&lt;com.google.inject.grapher.Alias&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="bindings" type="java.lang.Iterable&lt;com.google.inject.Binding&lt;?&gt;&gt;"/>
+      <doc>
       <![CDATA[Returns aliases for the given dependency graph. The aliases do not need to be transitively
  resolved, i.e. it is valid to return an alias (X to Y) and an alias (Y to Z). It is the
  responsibility of the caller to resolve this to (X to Z) and (Y to Z).
 
  @param bindings bindings that make up the dependency graph
- @return aliases that should be applied on the graph]]>

-      </doc>

-    </method>

-    <doc>

+ @return aliases that should be applied on the graph]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Creator of node aliases. Used by dependency graphers to merge nodes in the internal Guice graph
  into a single node on the rendered graph.
 
- @author bojand@google.com (Bojan Djordjevic)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.grapher.AliasCreator -->

-  <!-- start class com.google.inject.grapher.BindingEdge -->

-  <class name="BindingEdge" extends="com.google.inject.grapher.Edge"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="BindingEdge" type="com.google.inject.grapher.NodeId, com.google.inject.grapher.NodeId, com.google.inject.grapher.BindingEdge.Type"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getType" return="com.google.inject.grapher.BindingEdge.Type"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="equals" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="obj" type="java.lang.Object"/>

-    </method>

-    <method name="hashCode" return="int"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="copy" return="com.google.inject.grapher.Edge"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="fromId" type="com.google.inject.grapher.NodeId"/>

-      <param name="toId" type="com.google.inject.grapher.NodeId"/>

-    </method>

-    <doc>

+ @author bojand@google.com (Bojan Djordjevic)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.grapher.AliasCreator -->
+  <!-- start class com.google.inject.grapher.BindingEdge -->
+  <class name="BindingEdge" extends="com.google.inject.grapher.Edge"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="BindingEdge" type="com.google.inject.grapher.NodeId, com.google.inject.grapher.NodeId, com.google.inject.grapher.BindingEdge.Type"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getType" return="com.google.inject.grapher.BindingEdge.Type"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="equals" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="obj" type="java.lang.Object"/>
+    </method>
+    <method name="hashCode" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="copy" return="com.google.inject.grapher.Edge"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="fromId" type="com.google.inject.grapher.NodeId"/>
+      <param name="toId" type="com.google.inject.grapher.NodeId"/>
+    </method>
+    <doc>
     <![CDATA[Edge that connects an interface to the type or instance that is bound to implement it.
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.BindingEdge -->

-  <!-- start class com.google.inject.grapher.BindingEdge.Type -->

-  <class name="BindingEdge.Type" extends="java.lang.Enum&lt;com.google.inject.grapher.BindingEdge.Type&gt;"

-    abstract="false"

-    static="true" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="values" return="com.google.inject.grapher.BindingEdge.Type[]"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="valueOf" return="com.google.inject.grapher.BindingEdge.Type"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="name" type="java.lang.String"/>

-    </method>

-    <doc>

-    <![CDATA[Classification for what kind of binding this edge represents.]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.BindingEdge.Type -->

-  <!-- start class com.google.inject.grapher.DefaultRootKeySetCreator -->

-  <class name="DefaultRootKeySetCreator" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.grapher.RootKeySetCreator"/>

-    <constructor name="DefaultRootKeySetCreator"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getRootKeys" return="java.util.Set&lt;com.google.inject.Key&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="injector" type="com.google.inject.Injector"/>

-    </method>

-    <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.BindingEdge -->
+  <!-- start class com.google.inject.grapher.BindingEdge.Type -->
+  <class name="BindingEdge.Type" extends="java.lang.Enum&lt;com.google.inject.grapher.BindingEdge.Type&gt;"
+    abstract="false"
+    static="true" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="values" return="com.google.inject.grapher.BindingEdge.Type[]"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="valueOf" return="com.google.inject.grapher.BindingEdge.Type"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+    </method>
+    <doc>
+    <![CDATA[Classification for what kind of binding this edge represents.]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.BindingEdge.Type -->
+  <!-- start class com.google.inject.grapher.DefaultRootKeySetCreator -->
+  <class name="DefaultRootKeySetCreator" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.grapher.RootKeySetCreator"/>
+    <constructor name="DefaultRootKeySetCreator"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getRootKeys" return="java.util.Set&lt;com.google.inject.Key&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="injector" type="com.google.inject.Injector"/>
+    </method>
+    <doc>
     <![CDATA[Root key set creator that starts with all types that are not Guice internal types or the
  {@link Logger} type.
 
- @author bojand@google.com (Bojan Djordjevic)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.DefaultRootKeySetCreator -->

-  <!-- start class com.google.inject.grapher.DependencyEdge -->

-  <class name="DependencyEdge" extends="com.google.inject.grapher.Edge"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="DependencyEdge" type="com.google.inject.grapher.NodeId, com.google.inject.grapher.NodeId, com.google.inject.spi.InjectionPoint"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getInjectionPoint" return="com.google.inject.spi.InjectionPoint"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="equals" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="obj" type="java.lang.Object"/>

-    </method>

-    <method name="hashCode" return="int"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="copy" return="com.google.inject.grapher.Edge"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="fromId" type="com.google.inject.grapher.NodeId"/>

-      <param name="toId" type="com.google.inject.grapher.NodeId"/>

-    </method>

-    <doc>

+ @author bojand@google.com (Bojan Djordjevic)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.DefaultRootKeySetCreator -->
+  <!-- start class com.google.inject.grapher.DependencyEdge -->
+  <class name="DependencyEdge" extends="com.google.inject.grapher.Edge"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="DependencyEdge" type="com.google.inject.grapher.NodeId, com.google.inject.grapher.NodeId, com.google.inject.spi.InjectionPoint"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getInjectionPoint" return="com.google.inject.spi.InjectionPoint"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="equals" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="obj" type="java.lang.Object"/>
+    </method>
+    <method name="hashCode" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="copy" return="com.google.inject.grapher.Edge"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="fromId" type="com.google.inject.grapher.NodeId"/>
+      <param name="toId" type="com.google.inject.grapher.NodeId"/>
+    </method>
+    <doc>
     <![CDATA[Edge from a class or {@link InjectionPoint} to the interface node that will satisfy the
  dependency.
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.DependencyEdge -->

-  <!-- start class com.google.inject.grapher.Edge -->

-  <class name="Edge" extends="java.lang.Object"

-    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="Edge" type="com.google.inject.grapher.NodeId, com.google.inject.grapher.NodeId"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getFromId" return="com.google.inject.grapher.NodeId"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getToId" return="com.google.inject.grapher.NodeId"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="equals" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="obj" type="java.lang.Object"/>

-    </method>

-    <method name="hashCode" return="int"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="copy" return="com.google.inject.grapher.Edge"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="fromId" type="com.google.inject.grapher.NodeId"/>

-      <param name="toId" type="com.google.inject.grapher.NodeId"/>

-      <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.DependencyEdge -->
+  <!-- start class com.google.inject.grapher.Edge -->
+  <class name="Edge" extends="java.lang.Object"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="Edge" type="com.google.inject.grapher.NodeId, com.google.inject.grapher.NodeId"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getFromId" return="com.google.inject.grapher.NodeId"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getToId" return="com.google.inject.grapher.NodeId"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="equals" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="obj" type="java.lang.Object"/>
+    </method>
+    <method name="hashCode" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="copy" return="com.google.inject.grapher.Edge"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="fromId" type="com.google.inject.grapher.NodeId"/>
+      <param name="toId" type="com.google.inject.grapher.NodeId"/>
+      <doc>
       <![CDATA[Returns a copy of the edge with new node IDs.
 
  @param fromId new ID of the 'from' node
  @param toId new ID of the 'to' node
- @return copy of the edge with the new node IDs]]>

-      </doc>

-    </method>

-    <doc>

+ @return copy of the edge with the new node IDs]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Edge in a guice dependency graph.
 
- @author bojand@google.com (Bojan Djordjevic)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.Edge -->

-  <!-- start interface com.google.inject.grapher.EdgeCreator -->

-  <interface name="EdgeCreator"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="getEdges" return="java.lang.Iterable&lt;com.google.inject.grapher.Edge&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="bindings" type="java.lang.Iterable&lt;com.google.inject.Binding&lt;?&gt;&gt;"/>

-      <doc>

-      <![CDATA[Returns edges for the given dependency graph.]]>

-      </doc>

-    </method>

-    <doc>

+ @author bojand@google.com (Bojan Djordjevic)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.Edge -->
+  <!-- start interface com.google.inject.grapher.EdgeCreator -->
+  <interface name="EdgeCreator"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getEdges" return="java.lang.Iterable&lt;com.google.inject.grapher.Edge&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="bindings" type="java.lang.Iterable&lt;com.google.inject.Binding&lt;?&gt;&gt;"/>
+      <doc>
+      <![CDATA[Returns edges for the given dependency graph.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Creator of graph edges to render. All edges will be rendered on the graph after node aliasing is
  performed.
 
- @author bojand@google.com (Bojan Djordjevic)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.grapher.EdgeCreator -->

-  <!-- start class com.google.inject.grapher.ImplementationNode -->

-  <class name="ImplementationNode" extends="com.google.inject.grapher.Node"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="ImplementationNode" type="com.google.inject.grapher.NodeId, java.lang.Object, java.util.Collection&lt;java.lang.reflect.Member&gt;"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getMembers" return="java.util.Collection&lt;java.lang.reflect.Member&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="equals" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="obj" type="java.lang.Object"/>

-    </method>

-    <method name="hashCode" return="int"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="copy" return="com.google.inject.grapher.Node"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="id" type="com.google.inject.grapher.NodeId"/>

-    </method>

-    <doc>

+ @author bojand@google.com (Bojan Djordjevic)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.grapher.EdgeCreator -->
+  <!-- start class com.google.inject.grapher.ImplementationNode -->
+  <class name="ImplementationNode" extends="com.google.inject.grapher.Node"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="ImplementationNode" type="com.google.inject.grapher.NodeId, java.lang.Object, java.util.Collection&lt;java.lang.reflect.Member&gt;"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getMembers" return="java.util.Collection&lt;java.lang.reflect.Member&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="equals" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="obj" type="java.lang.Object"/>
+    </method>
+    <method name="hashCode" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="copy" return="com.google.inject.grapher.Node"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="id" type="com.google.inject.grapher.NodeId"/>
+    </method>
+    <doc>
     <![CDATA[Node for types that have {@link Dependency}s and are bound to {@link InterfaceNode}s. These
  nodes will often have fields for {@link Member}s that are {@link InjectionPoint}s.
 
  @see DependencyEdge
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.ImplementationNode -->

-  <!-- start interface com.google.inject.grapher.InjectorGrapher -->

-  <interface name="InjectorGrapher"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="graph"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="injector" type="com.google.inject.Injector"/>

-      <exception name="IOException" type="java.io.IOException"/>

-      <doc>

-      <![CDATA[Graphs the guice dependency graph for the given injector using default starting keys.]]>

-      </doc>

-    </method>

-    <method name="graph"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="injector" type="com.google.inject.Injector"/>

-      <param name="root" type="java.util.Set&lt;com.google.inject.Key&lt;?&gt;&gt;"/>

-      <exception name="IOException" type="java.io.IOException"/>

-      <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.ImplementationNode -->
+  <!-- start interface com.google.inject.grapher.InjectorGrapher -->
+  <interface name="InjectorGrapher"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="graph"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="injector" type="com.google.inject.Injector"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Graphs the guice dependency graph for the given injector using default starting keys.]]>
+      </doc>
+    </method>
+    <method name="graph"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="injector" type="com.google.inject.Injector"/>
+      <param name="root" type="java.util.Set&lt;com.google.inject.Key&lt;?&gt;&gt;"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
       <![CDATA[Graphs the guice dependency graph for the given injector using the given starting keys and
- their transitive dependencies.]]>

-      </doc>

-    </method>

-    <doc>

+ their transitive dependencies.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Guice injector grapher. Renders the guice dependency graph for an injector. It can render the
  whole dependency graph or just transitive dependencies of a given set of nodes.
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.grapher.InjectorGrapher -->

-  <!-- start class com.google.inject.grapher.InstanceNode -->

-  <class name="InstanceNode" extends="com.google.inject.grapher.Node"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="InstanceNode" type="com.google.inject.grapher.NodeId, java.lang.Object, java.lang.Object, java.lang.Iterable&lt;java.lang.reflect.Member&gt;"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getInstance" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getMembers" return="java.lang.Iterable&lt;java.lang.reflect.Member&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="equals" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="obj" type="java.lang.Object"/>

-    </method>

-    <method name="hashCode" return="int"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="copy" return="com.google.inject.grapher.Node"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="id" type="com.google.inject.grapher.NodeId"/>

-    </method>

-    <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.grapher.InjectorGrapher -->
+  <!-- start class com.google.inject.grapher.InstanceNode -->
+  <class name="InstanceNode" extends="com.google.inject.grapher.Node"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="InstanceNode" type="com.google.inject.grapher.NodeId, java.lang.Object, java.lang.Object, java.lang.Iterable&lt;java.lang.reflect.Member&gt;"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getInstance" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getMembers" return="java.lang.Iterable&lt;java.lang.reflect.Member&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="equals" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="obj" type="java.lang.Object"/>
+    </method>
+    <method name="hashCode" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="copy" return="com.google.inject.grapher.Node"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="id" type="com.google.inject.grapher.NodeId"/>
+    </method>
+    <doc>
     <![CDATA[Node for instances. Used when a type is bound to an instance.
 
- @author bojand@google.com (Bojan Djordjevic)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.InstanceNode -->

-  <!-- start class com.google.inject.grapher.InterfaceNode -->

-  <class name="InterfaceNode" extends="com.google.inject.grapher.Node"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="InterfaceNode" type="com.google.inject.grapher.NodeId, java.lang.Object"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="copy" return="com.google.inject.grapher.Node"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="id" type="com.google.inject.grapher.NodeId"/>

-    </method>

-    <method name="equals" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="obj" type="java.lang.Object"/>

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @author bojand@google.com (Bojan Djordjevic)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.InstanceNode -->
+  <!-- start class com.google.inject.grapher.InterfaceNode -->
+  <class name="InterfaceNode" extends="com.google.inject.grapher.Node"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="InterfaceNode" type="com.google.inject.grapher.NodeId, java.lang.Object"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="copy" return="com.google.inject.grapher.Node"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="id" type="com.google.inject.grapher.NodeId"/>
+    </method>
+    <method name="equals" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="obj" type="java.lang.Object"/>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[Node for an interface type that has been bound to an implementation class or instance.
 
  @see BindingEdge
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.InterfaceNode -->

-  <!-- start interface com.google.inject.grapher.NameFactory -->

-  <interface name="NameFactory"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="getMemberName" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="member" type="java.lang.reflect.Member"/>

-    </method>

-    <method name="getClassName" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>

-    </method>

-    <method name="getInstanceName" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="instance" type="java.lang.Object"/>

-    </method>

-    <method name="getAnnotationName" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>

-    </method>

-    <method name="getSourceName" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="java.lang.Object"/>

-    </method>

-    <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.InterfaceNode -->
+  <!-- start interface com.google.inject.grapher.NameFactory -->
+  <interface name="NameFactory"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getMemberName" return="java.lang.String"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="member" type="java.lang.reflect.Member"/>
+    </method>
+    <method name="getClassName" return="java.lang.String"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>
+    </method>
+    <method name="getInstanceName" return="java.lang.String"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="instance" type="java.lang.Object"/>
+    </method>
+    <method name="getAnnotationName" return="java.lang.String"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>
+    </method>
+    <method name="getSourceName" return="java.lang.String"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="java.lang.Object"/>
+    </method>
+    <doc>
     <![CDATA[Interface for a service that provides nice {@link String}s that we can
  display in the graph for the types that come up in {@link Binding}s.
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.grapher.NameFactory -->

-  <!-- start class com.google.inject.grapher.Node -->

-  <class name="Node" extends="java.lang.Object"

-    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="Node" type="com.google.inject.grapher.NodeId, java.lang.Object"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getId" return="com.google.inject.grapher.NodeId"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="equals" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="obj" type="java.lang.Object"/>

-    </method>

-    <method name="hashCode" return="int"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="copy" return="com.google.inject.grapher.Node"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="id" type="com.google.inject.grapher.NodeId"/>

-      <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.grapher.NameFactory -->
+  <!-- start class com.google.inject.grapher.Node -->
+  <class name="Node" extends="java.lang.Object"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="Node" type="com.google.inject.grapher.NodeId, java.lang.Object"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getId" return="com.google.inject.grapher.NodeId"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getSource" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="equals" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="obj" type="java.lang.Object"/>
+    </method>
+    <method name="hashCode" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="copy" return="com.google.inject.grapher.Node"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="id" type="com.google.inject.grapher.NodeId"/>
+      <doc>
       <![CDATA[Returns a copy of the node with a new ID.
 
  @param id new ID of the node
- @return copy of the node with a new ID]]>

-      </doc>

-    </method>

-    <doc>

+ @return copy of the node with a new ID]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Node in a guice dependency graph.
 
- @author bojand@google.com (Bojan Djordjevic)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.Node -->

-  <!-- start interface com.google.inject.grapher.NodeCreator -->

-  <interface name="NodeCreator"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="getNodes" return="java.lang.Iterable&lt;com.google.inject.grapher.Node&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="bindings" type="java.lang.Iterable&lt;com.google.inject.Binding&lt;?&gt;&gt;"/>

-      <doc>

-      <![CDATA[Returns nodes for the given dependency graph.]]>

-      </doc>

-    </method>

-    <doc>

+ @author bojand@google.com (Bojan Djordjevic)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.Node -->
+  <!-- start interface com.google.inject.grapher.NodeCreator -->
+  <interface name="NodeCreator"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getNodes" return="java.lang.Iterable&lt;com.google.inject.grapher.Node&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="bindings" type="java.lang.Iterable&lt;com.google.inject.Binding&lt;?&gt;&gt;"/>
+      <doc>
+      <![CDATA[Returns nodes for the given dependency graph.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Creator of graph nodes.
 
- @author bojand@google.com (Bojan Djordjevic)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.grapher.NodeCreator -->

-  <!-- start class com.google.inject.grapher.NodeId -->

-  <class name="NodeId" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="newTypeId" return="com.google.inject.grapher.NodeId"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>

-    </method>

-    <method name="newInstanceId" return="com.google.inject.grapher.NodeId"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>

-    </method>

-    <method name="getKey" return="com.google.inject.Key&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="hashCode" return="int"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="equals" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="obj" type="java.lang.Object"/>

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @author bojand@google.com (Bojan Djordjevic)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.grapher.NodeCreator -->
+  <!-- start class com.google.inject.grapher.NodeId -->
+  <class name="NodeId" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="newTypeId" return="com.google.inject.grapher.NodeId"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>
+    </method>
+    <method name="newInstanceId" return="com.google.inject.grapher.NodeId"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>
+    </method>
+    <method name="getKey" return="com.google.inject.Key&lt;?&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="hashCode" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="equals" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="obj" type="java.lang.Object"/>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[ID of a node in the graph. An ID is given by a {@link Key} and a node type, which is used to
  distinguish instances and implementation classes for the same key. For example
  {@code bind(Integer.class).toInstance(42)} produces two nodes: an
  interface node with the key of {@code Key<Integer>} and an instance node with the same
  {@link Key} and value of 42.
 
- @author bojand@google.com (Bojan Djordjevic)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.NodeId -->

-  <!-- start class com.google.inject.grapher.NodeId.NodeType -->

-  <class name="NodeId.NodeType" extends="java.lang.Enum&lt;com.google.inject.grapher.NodeId.NodeType&gt;"

-    abstract="false"

-    static="true" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="values" return="com.google.inject.grapher.NodeId.NodeType[]"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="valueOf" return="com.google.inject.grapher.NodeId.NodeType"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="name" type="java.lang.String"/>

-    </method>

-    <doc>

-    <![CDATA[Type of node.]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.NodeId.NodeType -->

-  <!-- start interface com.google.inject.grapher.RootKeySetCreator -->

-  <interface name="RootKeySetCreator"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="getRootKeys" return="java.util.Set&lt;com.google.inject.Key&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="injector" type="com.google.inject.Injector"/>

-      <doc>

-      <![CDATA[Returns the set of starting keys to graph.]]>

-      </doc>

-    </method>

-    <doc>

+ @author bojand@google.com (Bojan Djordjevic)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.NodeId -->
+  <!-- start class com.google.inject.grapher.NodeId.NodeType -->
+  <class name="NodeId.NodeType" extends="java.lang.Enum&lt;com.google.inject.grapher.NodeId.NodeType&gt;"
+    abstract="false"
+    static="true" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="values" return="com.google.inject.grapher.NodeId.NodeType[]"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="valueOf" return="com.google.inject.grapher.NodeId.NodeType"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+    </method>
+    <doc>
+    <![CDATA[Type of node.]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.NodeId.NodeType -->
+  <!-- start interface com.google.inject.grapher.RootKeySetCreator -->
+  <interface name="RootKeySetCreator"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getRootKeys" return="java.util.Set&lt;com.google.inject.Key&lt;?&gt;&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="injector" type="com.google.inject.Injector"/>
+      <doc>
+      <![CDATA[Returns the set of starting keys to graph.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Creator of the default starting set of keys to graph. These keys and their transitive
  dependencies will be graphed.
 
- @author bojand@google.com (Bojan Djordjevic)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.grapher.RootKeySetCreator -->

-  <!-- start class com.google.inject.grapher.ShortNameFactory -->

-  <class name="ShortNameFactory" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.grapher.NameFactory"/>

-    <constructor name="ShortNameFactory"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getMemberName" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="member" type="java.lang.reflect.Member"/>

-    </method>

-    <method name="getAnnotationName" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>

-    </method>

-    <method name="getClassName" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>

-    </method>

-    <method name="getInstanceName" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="instance" type="java.lang.Object"/>

-    </method>

-    <method name="getSourceName" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="source" type="java.lang.Object"/>

-      <doc>

+ @author bojand@google.com (Bojan Djordjevic)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.grapher.RootKeySetCreator -->
+  <!-- start class com.google.inject.grapher.ShortNameFactory -->
+  <class name="ShortNameFactory" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.grapher.NameFactory"/>
+    <constructor name="ShortNameFactory"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getMemberName" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="member" type="java.lang.reflect.Member"/>
+    </method>
+    <method name="getAnnotationName" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>
+    </method>
+    <method name="getClassName" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>
+    </method>
+    <method name="getInstanceName" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="instance" type="java.lang.Object"/>
+    </method>
+    <method name="getSourceName" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="source" type="java.lang.Object"/>
+      <doc>
       <![CDATA[Returns a name for a Guice "source" object. This will typically be either
  a {@link StackTraceElement} for when the binding is made to the instance,
- or a {@link Method} when a provider method is used.]]>

-      </doc>

-    </method>

-    <method name="getFileString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="stackTraceElement" type="java.lang.StackTraceElement"/>

-    </method>

-    <method name="getMethodString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="method" type="java.lang.reflect.Method"/>

-    </method>

-    <doc>

+ or a {@link Method} when a provider method is used.]]>
+      </doc>
+    </method>
+    <method name="getFileString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="stackTraceElement" type="java.lang.StackTraceElement"/>
+    </method>
+    <method name="getMethodString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="method" type="java.lang.reflect.Method"/>
+    </method>
+    <doc>
     <![CDATA[Reasonable implementation for {@link NameFactory}. Mostly takes various
  {@link Object#toString()}s and strips package names out of them so that
  they'll fit on the graph.
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.ShortNameFactory -->

-  <!-- start class com.google.inject.grapher.TransitiveDependencyVisitor -->

-  <class name="TransitiveDependencyVisitor" extends="com.google.inject.spi.DefaultBindingTargetVisitor&lt;java.lang.Object, java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;&gt;"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="TransitiveDependencyVisitor"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="visit" return="java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.ConstructorBinding&lt;?&gt;"/>

-    </method>

-    <method name="visit" return="java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.ConvertedConstantBinding&lt;?&gt;"/>

-    </method>

-    <method name="visit" return="java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.InstanceBinding&lt;?&gt;"/>

-    </method>

-    <method name="visit" return="java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.LinkedKeyBinding&lt;?&gt;"/>

-    </method>

-    <method name="visit" return="java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.ProviderBinding&lt;?&gt;"/>

-    </method>

-    <method name="visit" return="java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.ProviderInstanceBinding&lt;?&gt;"/>

-    </method>

-    <method name="visit" return="java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.ProviderKeyBinding&lt;?&gt;"/>

-    </method>

-    <method name="visitOther" return="java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.Binding&lt;?&gt;"/>

-    </method>

-    <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.ShortNameFactory -->
+  <!-- start class com.google.inject.grapher.TransitiveDependencyVisitor -->
+  <class name="TransitiveDependencyVisitor" extends="com.google.inject.spi.DefaultBindingTargetVisitor&lt;java.lang.Object, java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;&gt;"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="TransitiveDependencyVisitor"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="visit" return="java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.ConstructorBinding&lt;?&gt;"/>
+    </method>
+    <method name="visit" return="java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.ConvertedConstantBinding&lt;?&gt;"/>
+    </method>
+    <method name="visit" return="java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.InstanceBinding&lt;?&gt;"/>
+    </method>
+    <method name="visit" return="java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.LinkedKeyBinding&lt;?&gt;"/>
+    </method>
+    <method name="visit" return="java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.ProviderBinding&lt;?&gt;"/>
+    </method>
+    <method name="visit" return="java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.ProviderInstanceBinding&lt;?&gt;"/>
+    </method>
+    <method name="visit" return="java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.ProviderKeyBinding&lt;?&gt;"/>
+    </method>
+    <method name="visitOther" return="java.util.Collection&lt;com.google.inject.Key&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.Binding&lt;?&gt;"/>
+    </method>
+    <doc>
     <![CDATA[{@link BindingTargetVisitor} that returns a {@link Collection} of the
  {@link Key}s of each {@link Binding}'s dependencies. Used by
  {@link InjectorGrapher} to walk the dependency graph from a starting set of
  {@link Binding}s.
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.TransitiveDependencyVisitor -->

-</package>

-<package name="com.google.inject.grapher.graphviz">

-  <!-- start class com.google.inject.grapher.graphviz.ArrowType -->

-  <class name="ArrowType" extends="java.lang.Enum&lt;com.google.inject.grapher.graphviz.ArrowType&gt;"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="values" return="com.google.inject.grapher.graphviz.ArrowType[]"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="valueOf" return="com.google.inject.grapher.graphviz.ArrowType"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="name" type="java.lang.String"/>

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.TransitiveDependencyVisitor -->
+</package>
+<package name="com.google.inject.grapher.graphviz">
+  <!-- start class com.google.inject.grapher.graphviz.ArrowType -->
+  <class name="ArrowType" extends="java.lang.Enum&lt;com.google.inject.grapher.graphviz.ArrowType&gt;"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="values" return="com.google.inject.grapher.graphviz.ArrowType[]"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="valueOf" return="com.google.inject.grapher.graphviz.ArrowType"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[Arrow symbols that are available from Graphviz. These can be composed by
  concatenation to make double arrows and such.
  <p>
  See: http://www.graphviz.org/doc/info/arrows.html
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.graphviz.ArrowType -->

-  <!-- start class com.google.inject.grapher.graphviz.CompassPoint -->

-  <class name="CompassPoint" extends="java.lang.Enum&lt;com.google.inject.grapher.graphviz.CompassPoint&gt;"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="values" return="com.google.inject.grapher.graphviz.CompassPoint[]"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="valueOf" return="com.google.inject.grapher.graphviz.CompassPoint"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="name" type="java.lang.String"/>

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.graphviz.ArrowType -->
+  <!-- start class com.google.inject.grapher.graphviz.CompassPoint -->
+  <class name="CompassPoint" extends="java.lang.Enum&lt;com.google.inject.grapher.graphviz.CompassPoint&gt;"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="values" return="com.google.inject.grapher.graphviz.CompassPoint[]"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="valueOf" return="com.google.inject.grapher.graphviz.CompassPoint"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[Enum for the "compass point" values used to control where edge
  end points appear on the graph.
  <p>
  See: http://www.graphviz.org/doc/info/attrs.html#k:portPos
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.graphviz.CompassPoint -->

-  <!-- start class com.google.inject.grapher.graphviz.EdgeStyle -->

-  <class name="EdgeStyle" extends="java.lang.Enum&lt;com.google.inject.grapher.graphviz.EdgeStyle&gt;"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="values" return="com.google.inject.grapher.graphviz.EdgeStyle[]"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="valueOf" return="com.google.inject.grapher.graphviz.EdgeStyle"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="name" type="java.lang.String"/>

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.graphviz.CompassPoint -->
+  <!-- start class com.google.inject.grapher.graphviz.EdgeStyle -->
+  <class name="EdgeStyle" extends="java.lang.Enum&lt;com.google.inject.grapher.graphviz.EdgeStyle&gt;"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="values" return="com.google.inject.grapher.graphviz.EdgeStyle[]"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="valueOf" return="com.google.inject.grapher.graphviz.EdgeStyle"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[Styles for edges.
  <p>
  See: http://www.graphviz.org/doc/info/attrs.html#k:style
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.graphviz.EdgeStyle -->

-  <!-- start class com.google.inject.grapher.graphviz.GraphvizEdge -->

-  <class name="GraphvizEdge" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="GraphvizEdge" type="com.google.inject.grapher.NodeId, com.google.inject.grapher.NodeId"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getHeadNodeId" return="com.google.inject.grapher.NodeId"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getHeadPortId" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setHeadPortId"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="headPortId" type="java.lang.String"/>

-    </method>

-    <method name="getHeadCompassPoint" return="com.google.inject.grapher.graphviz.CompassPoint"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setHeadCompassPoint"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="headCompassPoint" type="com.google.inject.grapher.graphviz.CompassPoint"/>

-    </method>

-    <method name="getArrowHead" return="java.util.List&lt;com.google.inject.grapher.graphviz.ArrowType&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setArrowHead"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="arrowHead" type="java.util.List&lt;com.google.inject.grapher.graphviz.ArrowType&gt;"/>

-    </method>

-    <method name="getTailNodeId" return="com.google.inject.grapher.NodeId"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getTailPortId" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setTailPortId"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="tailPortId" type="java.lang.String"/>

-    </method>

-    <method name="getTailCompassPoint" return="com.google.inject.grapher.graphviz.CompassPoint"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setTailCompassPoint"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="tailCompassPoint" type="com.google.inject.grapher.graphviz.CompassPoint"/>

-    </method>

-    <method name="getArrowTail" return="java.util.List&lt;com.google.inject.grapher.graphviz.ArrowType&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setArrowTail"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="arrowTail" type="java.util.List&lt;com.google.inject.grapher.graphviz.ArrowType&gt;"/>

-    </method>

-    <method name="getStyle" return="com.google.inject.grapher.graphviz.EdgeStyle"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setStyle"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="style" type="com.google.inject.grapher.graphviz.EdgeStyle"/>

-    </method>

-    <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.graphviz.EdgeStyle -->
+  <!-- start class com.google.inject.grapher.graphviz.GraphvizEdge -->
+  <class name="GraphvizEdge" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="GraphvizEdge" type="com.google.inject.grapher.NodeId, com.google.inject.grapher.NodeId"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getHeadNodeId" return="com.google.inject.grapher.NodeId"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getHeadPortId" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setHeadPortId"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="headPortId" type="java.lang.String"/>
+    </method>
+    <method name="getHeadCompassPoint" return="com.google.inject.grapher.graphviz.CompassPoint"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setHeadCompassPoint"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="headCompassPoint" type="com.google.inject.grapher.graphviz.CompassPoint"/>
+    </method>
+    <method name="getArrowHead" return="java.util.List&lt;com.google.inject.grapher.graphviz.ArrowType&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setArrowHead"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="arrowHead" type="java.util.List&lt;com.google.inject.grapher.graphviz.ArrowType&gt;"/>
+    </method>
+    <method name="getTailNodeId" return="com.google.inject.grapher.NodeId"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getTailPortId" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setTailPortId"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="tailPortId" type="java.lang.String"/>
+    </method>
+    <method name="getTailCompassPoint" return="com.google.inject.grapher.graphviz.CompassPoint"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setTailCompassPoint"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="tailCompassPoint" type="com.google.inject.grapher.graphviz.CompassPoint"/>
+    </method>
+    <method name="getArrowTail" return="java.util.List&lt;com.google.inject.grapher.graphviz.ArrowType&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setArrowTail"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="arrowTail" type="java.util.List&lt;com.google.inject.grapher.graphviz.ArrowType&gt;"/>
+    </method>
+    <method name="getStyle" return="com.google.inject.grapher.graphviz.EdgeStyle"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setStyle"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="style" type="com.google.inject.grapher.graphviz.EdgeStyle"/>
+    </method>
+    <doc>
     <![CDATA[Data object to encapsulate the attributes of Graphviz edges that we're
  interested in drawing.
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.graphviz.GraphvizEdge -->

-  <!-- start class com.google.inject.grapher.graphviz.GraphvizGrapher -->

-  <class name="GraphvizGrapher" extends="com.google.inject.grapher.AbstractInjectorGrapher"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="reset"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-    </method>

-    <method name="setOut"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="out" type="java.io.PrintWriter"/>

-    </method>

-    <method name="setRankdir"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="rankdir" type="java.lang.String"/>

-    </method>

-    <method name="postProcess"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-    </method>

-    <method name="getGraphAttributes" return="java.util.Map&lt;java.lang.String, java.lang.String&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-    </method>

-    <method name="start"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-    </method>

-    <method name="finish"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-    </method>

-    <method name="renderNode"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="node" type="com.google.inject.grapher.graphviz.GraphvizNode"/>

-    </method>

-    <method name="getNodeAttributes" return="java.util.Map&lt;java.lang.String, java.lang.String&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="node" type="com.google.inject.grapher.graphviz.GraphvizNode"/>

-    </method>

-    <method name="getNodeLabel" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="node" type="com.google.inject.grapher.graphviz.GraphvizNode"/>

-      <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.graphviz.GraphvizEdge -->
+  <!-- start class com.google.inject.grapher.graphviz.GraphvizGrapher -->
+  <class name="GraphvizGrapher" extends="com.google.inject.grapher.AbstractInjectorGrapher"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="reset"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </method>
+    <method name="setOut"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="out" type="java.io.PrintWriter"/>
+    </method>
+    <method name="setRankdir"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="rankdir" type="java.lang.String"/>
+    </method>
+    <method name="postProcess"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </method>
+    <method name="getGraphAttributes" return="java.util.Map&lt;java.lang.String, java.lang.String&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </method>
+    <method name="start"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </method>
+    <method name="finish"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </method>
+    <method name="renderNode"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="node" type="com.google.inject.grapher.graphviz.GraphvizNode"/>
+    </method>
+    <method name="getNodeAttributes" return="java.util.Map&lt;java.lang.String, java.lang.String&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="node" type="com.google.inject.grapher.graphviz.GraphvizNode"/>
+    </method>
+    <method name="getNodeLabel" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="node" type="com.google.inject.grapher.graphviz.GraphvizNode"/>
+      <doc>
       <![CDATA[Creates the "label" for a node. This is a string of HTML that defines a
  table with a heading at the top and (in the case of
- {@link ImplementationNode}s) rows for each of the member fields.]]>

-      </doc>

-    </method>

-    <method name="renderEdge"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="edge" type="com.google.inject.grapher.graphviz.GraphvizEdge"/>

-    </method>

-    <method name="getEdgeAttributes" return="java.util.Map&lt;java.lang.String, java.lang.String&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="edge" type="com.google.inject.grapher.graphviz.GraphvizEdge"/>

-    </method>

-    <method name="getArrowString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="arrows" type="java.util.List&lt;com.google.inject.grapher.graphviz.ArrowType&gt;"/>

-      <doc>

+ {@link ImplementationNode}s) rows for each of the member fields.]]>
+      </doc>
+    </method>
+    <method name="renderEdge"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="edge" type="com.google.inject.grapher.graphviz.GraphvizEdge"/>
+    </method>
+    <method name="getEdgeAttributes" return="java.util.Map&lt;java.lang.String, java.lang.String&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="edge" type="com.google.inject.grapher.graphviz.GraphvizEdge"/>
+    </method>
+    <method name="getArrowString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="arrows" type="java.util.List&lt;com.google.inject.grapher.graphviz.ArrowType&gt;"/>
+      <doc>
       <![CDATA[Turns a {@link List} of {@link ArrowType}s into a {@link String} that
  represents combining them. With Graphviz, that just means concatenating
- them.]]>

-      </doc>

-    </method>

-    <method name="getEdgeEndPoint" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="nodeId" type="java.lang.String"/>

-      <param name="portId" type="java.lang.String"/>

-      <param name="compassPoint" type="com.google.inject.grapher.graphviz.CompassPoint"/>

-    </method>

-    <method name="htmlEscape" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="str" type="java.lang.String"/>

-    </method>

-    <method name="htmlEscape" return="java.util.List&lt;java.lang.String&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="elements" type="java.util.List&lt;java.lang.String&gt;"/>

-    </method>

-    <method name="newInterfaceNode"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="node" type="com.google.inject.grapher.InterfaceNode"/>

-    </method>

-    <method name="newImplementationNode"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="node" type="com.google.inject.grapher.ImplementationNode"/>

-    </method>

-    <method name="newInstanceNode"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="node" type="com.google.inject.grapher.InstanceNode"/>

-    </method>

-    <method name="newDependencyEdge"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="edge" type="com.google.inject.grapher.DependencyEdge"/>

-    </method>

-    <method name="newBindingEdge"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="edge" type="com.google.inject.grapher.BindingEdge"/>

-    </method>

-    <doc>

+ them.]]>
+      </doc>
+    </method>
+    <method name="getEdgeEndPoint" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="nodeId" type="java.lang.String"/>
+      <param name="portId" type="java.lang.String"/>
+      <param name="compassPoint" type="com.google.inject.grapher.graphviz.CompassPoint"/>
+    </method>
+    <method name="htmlEscape" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="str" type="java.lang.String"/>
+    </method>
+    <method name="htmlEscape" return="java.util.List&lt;java.lang.String&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="elements" type="java.util.List&lt;java.lang.String&gt;"/>
+    </method>
+    <method name="newInterfaceNode"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="node" type="com.google.inject.grapher.InterfaceNode"/>
+    </method>
+    <method name="newImplementationNode"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="node" type="com.google.inject.grapher.ImplementationNode"/>
+    </method>
+    <method name="newInstanceNode"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="node" type="com.google.inject.grapher.InstanceNode"/>
+    </method>
+    <method name="newDependencyEdge"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="edge" type="com.google.inject.grapher.DependencyEdge"/>
+    </method>
+    <method name="newBindingEdge"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="edge" type="com.google.inject.grapher.BindingEdge"/>
+    </method>
+    <doc>
     <![CDATA[{@link InjectorGrapher} implementation that writes out a Graphviz DOT file of the graph.
  Dependencies are bound in {@link GraphvizModule}.
  <p>
  Specify the {@link PrintWriter} to output to with {@link #setOut(PrintWriter)}.
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.graphviz.GraphvizGrapher -->

-  <!-- start class com.google.inject.grapher.graphviz.GraphvizModule -->

-  <class name="GraphvizModule" extends="com.google.inject.AbstractModule"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="GraphvizModule"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="configure"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.graphviz.GraphvizGrapher -->
+  <!-- start class com.google.inject.grapher.graphviz.GraphvizModule -->
+  <class name="GraphvizModule" extends="com.google.inject.AbstractModule"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="GraphvizModule"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="configure"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[Module that provides classes needed by {@link GraphvizGrapher}.
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.graphviz.GraphvizModule -->

-  <!-- start class com.google.inject.grapher.graphviz.GraphvizNode -->

-  <class name="GraphvizNode" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="GraphvizNode" type="com.google.inject.grapher.NodeId"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getNodeId" return="com.google.inject.grapher.NodeId"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getShape" return="com.google.inject.grapher.graphviz.NodeShape"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setShape"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="shape" type="com.google.inject.grapher.graphviz.NodeShape"/>

-    </method>

-    <method name="getStyle" return="com.google.inject.grapher.graphviz.NodeStyle"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setStyle"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="style" type="com.google.inject.grapher.graphviz.NodeStyle"/>

-    </method>

-    <method name="getTitle" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setTitle"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="title" type="java.lang.String"/>

-    </method>

-    <method name="getSubtitles" return="java.util.List&lt;java.lang.String&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="addSubtitle"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="position" type="int"/>

-      <param name="subtitle" type="java.lang.String"/>

-    </method>

-    <method name="getHeaderTextColor" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setHeaderTextColor"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="headerTextColor" type="java.lang.String"/>

-    </method>

-    <method name="getHeaderBackgroundColor" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setHeaderBackgroundColor"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="headerBackgroundColor" type="java.lang.String"/>

-    </method>

-    <method name="addField"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="portId" type="java.lang.String"/>

-      <param name="title" type="java.lang.String"/>

-    </method>

-    <method name="getFields" return="java.util.Map&lt;java.lang.String, java.lang.String&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getIdentifier" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="setIdentifier"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="identifier" type="java.lang.String"/>

-    </method>

-    <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.graphviz.GraphvizModule -->
+  <!-- start class com.google.inject.grapher.graphviz.GraphvizNode -->
+  <class name="GraphvizNode" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="GraphvizNode" type="com.google.inject.grapher.NodeId"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getNodeId" return="com.google.inject.grapher.NodeId"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getShape" return="com.google.inject.grapher.graphviz.NodeShape"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setShape"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="shape" type="com.google.inject.grapher.graphviz.NodeShape"/>
+    </method>
+    <method name="getStyle" return="com.google.inject.grapher.graphviz.NodeStyle"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setStyle"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="style" type="com.google.inject.grapher.graphviz.NodeStyle"/>
+    </method>
+    <method name="getTitle" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setTitle"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="title" type="java.lang.String"/>
+    </method>
+    <method name="getSubtitles" return="java.util.List&lt;java.lang.String&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="addSubtitle"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="position" type="int"/>
+      <param name="subtitle" type="java.lang.String"/>
+    </method>
+    <method name="getHeaderTextColor" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setHeaderTextColor"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="headerTextColor" type="java.lang.String"/>
+    </method>
+    <method name="getHeaderBackgroundColor" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setHeaderBackgroundColor"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="headerBackgroundColor" type="java.lang.String"/>
+    </method>
+    <method name="addField"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="portId" type="java.lang.String"/>
+      <param name="title" type="java.lang.String"/>
+    </method>
+    <method name="getFields" return="java.util.Map&lt;java.lang.String, java.lang.String&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getIdentifier" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setIdentifier"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="identifier" type="java.lang.String"/>
+    </method>
+    <doc>
     <![CDATA[Data object to encapsulate the attributes of Graphviz nodes that we're
  interested in drawing.
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.graphviz.GraphvizNode -->

-  <!-- start class com.google.inject.grapher.graphviz.NodeShape -->

-  <class name="NodeShape" extends="java.lang.Enum&lt;com.google.inject.grapher.graphviz.NodeShape&gt;"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="values" return="com.google.inject.grapher.graphviz.NodeShape[]"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="valueOf" return="com.google.inject.grapher.graphviz.NodeShape"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="name" type="java.lang.String"/>

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.graphviz.GraphvizNode -->
+  <!-- start class com.google.inject.grapher.graphviz.NodeShape -->
+  <class name="NodeShape" extends="java.lang.Enum&lt;com.google.inject.grapher.graphviz.NodeShape&gt;"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="values" return="com.google.inject.grapher.graphviz.NodeShape[]"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="valueOf" return="com.google.inject.grapher.graphviz.NodeShape"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[Enum for the shapes that are most interesting for Guice graphing.
  <p>
  See: http://www.graphviz.org/doc/info/shapes.html
  
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.graphviz.NodeShape -->

-  <!-- start class com.google.inject.grapher.graphviz.NodeStyle -->

-  <class name="NodeStyle" extends="java.lang.Enum&lt;com.google.inject.grapher.graphviz.NodeStyle&gt;"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="values" return="com.google.inject.grapher.graphviz.NodeStyle[]"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="valueOf" return="com.google.inject.grapher.graphviz.NodeStyle"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="name" type="java.lang.String"/>

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.graphviz.NodeShape -->
+  <!-- start class com.google.inject.grapher.graphviz.NodeStyle -->
+  <class name="NodeStyle" extends="java.lang.Enum&lt;com.google.inject.grapher.graphviz.NodeStyle&gt;"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="values" return="com.google.inject.grapher.graphviz.NodeStyle[]"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="valueOf" return="com.google.inject.grapher.graphviz.NodeStyle"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[Styles for nodes. Similar to {@link EdgeStyle} but with a few more options.
  <p>
  See: http://www.graphviz.org/doc/info/attrs.html#k:style
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.graphviz.NodeStyle -->

-  <!-- start interface com.google.inject.grapher.graphviz.PortIdFactory -->

-  <interface name="PortIdFactory"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="getPortId" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="member" type="java.lang.reflect.Member"/>

-    </method>

-    <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.graphviz.NodeStyle -->
+  <!-- start interface com.google.inject.grapher.graphviz.PortIdFactory -->
+  <interface name="PortIdFactory"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getPortId" return="java.lang.String"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="member" type="java.lang.reflect.Member"/>
+    </method>
+    <doc>
     <![CDATA[Interface for a service that returns Graphviz port IDs, used for naming the
  rows in {@link ImplementationNode}-displaying {@link GraphvizNode}s.
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.grapher.graphviz.PortIdFactory -->

-  <!-- start class com.google.inject.grapher.graphviz.PortIdFactoryImpl -->

-  <class name="PortIdFactoryImpl" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.grapher.graphviz.PortIdFactory"/>

-    <constructor name="PortIdFactoryImpl"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getPortId" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="member" type="java.lang.reflect.Member"/>

-    </method>

-    <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.grapher.graphviz.PortIdFactory -->
+  <!-- start class com.google.inject.grapher.graphviz.PortIdFactoryImpl -->
+  <class name="PortIdFactoryImpl" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.grapher.graphviz.PortIdFactory"/>
+    <constructor name="PortIdFactoryImpl"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getPortId" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="member" type="java.lang.reflect.Member"/>
+    </method>
+    <doc>
     <![CDATA[Implementation of {@link PortIdFactory}. Bound in {@link GraphvizModule}.
 
- @author phopkins@gmail.com (Pete Hopkins)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.grapher.graphviz.PortIdFactoryImpl -->

-</package>

-<package name="com.google.inject.jndi">

-  <!-- start class com.google.inject.jndi.JndiIntegration -->

-  <class name="JndiIntegration" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="fromJndi" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <param name="name" type="java.lang.String"/>

-      <doc>

+ @author phopkins@gmail.com (Pete Hopkins)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.grapher.graphviz.PortIdFactoryImpl -->
+</package>
+<package name="com.google.inject.jndi">
+  <!-- start class com.google.inject.jndi.JndiIntegration -->
+  <class name="JndiIntegration" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="fromJndi" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <param name="name" type="java.lang.String"/>
+      <doc>
       <![CDATA[Creates a provider which looks up objects in JNDI using the given name.
  Example usage:
 
  <pre>
  bind(DataSource.class).toProvider(fromJndi(DataSource.class, "java:..."));
- </pre>]]>

-      </doc>

-    </method>

-    <doc>

+ </pre>]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Integrates Guice with JNDI. Requires a binding to 
  {@link javax.naming.Context}.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.jndi.JndiIntegration -->

-</package>

-<package name="com.google.inject.matcher">

-  <!-- start class com.google.inject.matcher.AbstractMatcher -->

-  <class name="AbstractMatcher" extends="java.lang.Object"

-    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.matcher.Matcher&lt;T&gt;"/>

-    <constructor name="AbstractMatcher"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="and" return="com.google.inject.matcher.Matcher&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="other" type="com.google.inject.matcher.Matcher&lt;? super T&gt;"/>

-    </method>

-    <method name="or" return="com.google.inject.matcher.Matcher&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="other" type="com.google.inject.matcher.Matcher&lt;? super T&gt;"/>

-    </method>

-    <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.jndi.JndiIntegration -->
+</package>
+<package name="com.google.inject.matcher">
+  <!-- start class com.google.inject.matcher.AbstractMatcher -->
+  <class name="AbstractMatcher" extends="java.lang.Object"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.matcher.Matcher&lt;T&gt;"/>
+    <constructor name="AbstractMatcher"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="and" return="com.google.inject.matcher.Matcher&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="other" type="com.google.inject.matcher.Matcher&lt;? super T&gt;"/>
+    </method>
+    <method name="or" return="com.google.inject.matcher.Matcher&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="other" type="com.google.inject.matcher.Matcher&lt;? super T&gt;"/>
+    </method>
+    <doc>
     <![CDATA[Implements {@code and()} and {@code or()}.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.matcher.AbstractMatcher -->

-  <!-- start interface com.google.inject.matcher.Matcher -->

-  <interface name="Matcher"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="matches" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="t" type="T"/>

-      <doc>

-      <![CDATA[Returns {@code true} if this matches {@code t}, {@code false} otherwise.]]>

-      </doc>

-    </method>

-    <method name="and" return="com.google.inject.matcher.Matcher&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="other" type="com.google.inject.matcher.Matcher&lt;? super T&gt;"/>

-      <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.matcher.AbstractMatcher -->
+  <!-- start interface com.google.inject.matcher.Matcher -->
+  <interface name="Matcher"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="matches" return="boolean"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="t" type="T"/>
+      <doc>
+      <![CDATA[Returns {@code true} if this matches {@code t}, {@code false} otherwise.]]>
+      </doc>
+    </method>
+    <method name="and" return="com.google.inject.matcher.Matcher&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="other" type="com.google.inject.matcher.Matcher&lt;? super T&gt;"/>
+      <doc>
       <![CDATA[Returns a new matcher which returns {@code true} if both this and the
- given matcher return {@code true}.]]>

-      </doc>

-    </method>

-    <method name="or" return="com.google.inject.matcher.Matcher&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="other" type="com.google.inject.matcher.Matcher&lt;? super T&gt;"/>

-      <doc>

+ given matcher return {@code true}.]]>
+      </doc>
+    </method>
+    <method name="or" return="com.google.inject.matcher.Matcher&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="other" type="com.google.inject.matcher.Matcher&lt;? super T&gt;"/>
+      <doc>
       <![CDATA[Returns a new matcher which returns {@code true} if either this or the
- given matcher return {@code true}.]]>

-      </doc>

-    </method>

-    <doc>

+ given matcher return {@code true}.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Returns {@code true} or {@code false} for a given input.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.matcher.Matcher -->

-  <!-- start class com.google.inject.matcher.Matchers -->

-  <class name="Matchers" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="any" return="com.google.inject.matcher.Matcher&lt;java.lang.Object&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns a matcher which matches any input.]]>

-      </doc>

-    </method>

-    <method name="not" return="com.google.inject.matcher.Matcher&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="p" type="com.google.inject.matcher.Matcher&lt;? super T&gt;"/>

-      <doc>

-      <![CDATA[Inverts the given matcher.]]>

-      </doc>

-    </method>

-    <method name="annotatedWith" return="com.google.inject.matcher.Matcher&lt;java.lang.reflect.AnnotatedElement&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.matcher.Matcher -->
+  <!-- start class com.google.inject.matcher.Matchers -->
+  <class name="Matchers" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="any" return="com.google.inject.matcher.Matcher&lt;java.lang.Object&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns a matcher which matches any input.]]>
+      </doc>
+    </method>
+    <method name="not" return="com.google.inject.matcher.Matcher&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="p" type="com.google.inject.matcher.Matcher&lt;? super T&gt;"/>
+      <doc>
+      <![CDATA[Inverts the given matcher.]]>
+      </doc>
+    </method>
+    <method name="annotatedWith" return="com.google.inject.matcher.Matcher&lt;java.lang.reflect.AnnotatedElement&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <doc>
       <![CDATA[Returns a matcher which matches elements (methods, classes, etc.)
- with a given annotation.]]>

-      </doc>

-    </method>

-    <method name="annotatedWith" return="com.google.inject.matcher.Matcher&lt;java.lang.reflect.AnnotatedElement&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="annotation" type="java.lang.annotation.Annotation"/>

-      <doc>

+ with a given annotation.]]>
+      </doc>
+    </method>
+    <method name="annotatedWith" return="com.google.inject.matcher.Matcher&lt;java.lang.reflect.AnnotatedElement&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="annotation" type="java.lang.annotation.Annotation"/>
+      <doc>
       <![CDATA[Returns a matcher which matches elements (methods, classes, etc.)
- with a given annotation.]]>

-      </doc>

-    </method>

-    <method name="subclassesOf" return="com.google.inject.matcher.Matcher&lt;java.lang.Class&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="superclass" type="java.lang.Class&lt;?&gt;"/>

-      <doc>

+ with a given annotation.]]>
+      </doc>
+    </method>
+    <method name="subclassesOf" return="com.google.inject.matcher.Matcher&lt;java.lang.Class&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="superclass" type="java.lang.Class&lt;?&gt;"/>
+      <doc>
       <![CDATA[Returns a matcher which matches subclasses of the given type (as well as
- the given type).]]>

-      </doc>

-    </method>

-    <method name="only" return="com.google.inject.matcher.Matcher&lt;java.lang.Object&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="value" type="java.lang.Object"/>

-      <doc>

-      <![CDATA[Returns a matcher which matches objects equal to the given object.]]>

-      </doc>

-    </method>

-    <method name="identicalTo" return="com.google.inject.matcher.Matcher&lt;java.lang.Object&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="value" type="java.lang.Object"/>

-      <doc>

-      <![CDATA[Returns a matcher which matches only the given object.]]>

-      </doc>

-    </method>

-    <method name="inPackage" return="com.google.inject.matcher.Matcher&lt;java.lang.Class&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="targetPackage" type="java.lang.Package"/>

-      <doc>

+ the given type).]]>
+      </doc>
+    </method>
+    <method name="only" return="com.google.inject.matcher.Matcher&lt;java.lang.Object&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="value" type="java.lang.Object"/>
+      <doc>
+      <![CDATA[Returns a matcher which matches objects equal to the given object.]]>
+      </doc>
+    </method>
+    <method name="identicalTo" return="com.google.inject.matcher.Matcher&lt;java.lang.Object&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="value" type="java.lang.Object"/>
+      <doc>
+      <![CDATA[Returns a matcher which matches only the given object.]]>
+      </doc>
+    </method>
+    <method name="inPackage" return="com.google.inject.matcher.Matcher&lt;java.lang.Class&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="targetPackage" type="java.lang.Package"/>
+      <doc>
       <![CDATA[Returns a matcher which matches classes in the given package. Packages are specific to their
- classloader, so classes with the same package name may not have the same package at runtime.]]>

-      </doc>

-    </method>

-    <method name="inSubpackage" return="com.google.inject.matcher.Matcher&lt;java.lang.Class&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="targetPackageName" type="java.lang.String"/>

-      <doc>

+ classloader, so classes with the same package name may not have the same package at runtime.]]>
+      </doc>
+    </method>
+    <method name="inSubpackage" return="com.google.inject.matcher.Matcher&lt;java.lang.Class&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="targetPackageName" type="java.lang.String"/>
+      <doc>
       <![CDATA[Returns a matcher which matches classes in the given package and its subpackages. Unlike
  {@link #inPackage(Package) inPackage()}, this matches classes from any classloader.
  
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="returns" return="com.google.inject.matcher.Matcher&lt;java.lang.reflect.Method&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="returnType" type="com.google.inject.matcher.Matcher&lt;? super java.lang.Class&lt;?&gt;&gt;"/>

-      <doc>

-      <![CDATA[Returns a matcher which matches methods with matching return types.]]>

-      </doc>

-    </method>

-    <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="returns" return="com.google.inject.matcher.Matcher&lt;java.lang.reflect.Method&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="returnType" type="com.google.inject.matcher.Matcher&lt;? super java.lang.Class&lt;?&gt;&gt;"/>
+      <doc>
+      <![CDATA[Returns a matcher which matches methods with matching return types.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Matcher implementations. Supports matching classes and methods.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.matcher.Matchers -->

-</package>

-<package name="com.google.inject.multibindings">

-  <!-- start class com.google.inject.multibindings.MapBinder -->

-  <class name="MapBinder" extends="java.lang.Object"

-    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="newMapBinder" return="com.google.inject.multibindings.MapBinder&lt;K, V&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <param name="keyType" type="com.google.inject.TypeLiteral&lt;K&gt;"/>

-      <param name="valueType" type="com.google.inject.TypeLiteral&lt;V&gt;"/>

-      <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.matcher.Matchers -->
+</package>
+<package name="com.google.inject.multibindings">
+  <!-- start class com.google.inject.multibindings.MapBinder -->
+  <class name="MapBinder" extends="java.lang.Object"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="newMapBinder" return="com.google.inject.multibindings.MapBinder&lt;K, V&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <param name="keyType" type="com.google.inject.TypeLiteral&lt;K&gt;"/>
+      <param name="valueType" type="com.google.inject.TypeLiteral&lt;V&gt;"/>
+      <doc>
       <![CDATA[Returns a new mapbinder that collects entries of {@code keyType}/{@code valueType} in a
- {@link Map} that is itself bound with no binding annotation.]]>

-      </doc>

-    </method>

-    <method name="newMapBinder" return="com.google.inject.multibindings.MapBinder&lt;K, V&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <param name="keyType" type="java.lang.Class&lt;K&gt;"/>

-      <param name="valueType" type="java.lang.Class&lt;V&gt;"/>

-      <doc>

+ {@link Map} that is itself bound with no binding annotation.]]>
+      </doc>
+    </method>
+    <method name="newMapBinder" return="com.google.inject.multibindings.MapBinder&lt;K, V&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <param name="keyType" type="java.lang.Class&lt;K&gt;"/>
+      <param name="valueType" type="java.lang.Class&lt;V&gt;"/>
+      <doc>
       <![CDATA[Returns a new mapbinder that collects entries of {@code keyType}/{@code valueType} in a
- {@link Map} that is itself bound with no binding annotation.]]>

-      </doc>

-    </method>

-    <method name="newMapBinder" return="com.google.inject.multibindings.MapBinder&lt;K, V&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <param name="keyType" type="com.google.inject.TypeLiteral&lt;K&gt;"/>

-      <param name="valueType" type="com.google.inject.TypeLiteral&lt;V&gt;"/>

-      <param name="annotation" type="java.lang.annotation.Annotation"/>

-      <doc>

+ {@link Map} that is itself bound with no binding annotation.]]>
+      </doc>
+    </method>
+    <method name="newMapBinder" return="com.google.inject.multibindings.MapBinder&lt;K, V&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <param name="keyType" type="com.google.inject.TypeLiteral&lt;K&gt;"/>
+      <param name="valueType" type="com.google.inject.TypeLiteral&lt;V&gt;"/>
+      <param name="annotation" type="java.lang.annotation.Annotation"/>
+      <doc>
       <![CDATA[Returns a new mapbinder that collects entries of {@code keyType}/{@code valueType} in a
- {@link Map} that is itself bound with {@code annotation}.]]>

-      </doc>

-    </method>

-    <method name="newMapBinder" return="com.google.inject.multibindings.MapBinder&lt;K, V&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <param name="keyType" type="java.lang.Class&lt;K&gt;"/>

-      <param name="valueType" type="java.lang.Class&lt;V&gt;"/>

-      <param name="annotation" type="java.lang.annotation.Annotation"/>

-      <doc>

+ {@link Map} that is itself bound with {@code annotation}.]]>
+      </doc>
+    </method>
+    <method name="newMapBinder" return="com.google.inject.multibindings.MapBinder&lt;K, V&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <param name="keyType" type="java.lang.Class&lt;K&gt;"/>
+      <param name="valueType" type="java.lang.Class&lt;V&gt;"/>
+      <param name="annotation" type="java.lang.annotation.Annotation"/>
+      <doc>
       <![CDATA[Returns a new mapbinder that collects entries of {@code keyType}/{@code valueType} in a
- {@link Map} that is itself bound with {@code annotation}.]]>

-      </doc>

-    </method>

-    <method name="newMapBinder" return="com.google.inject.multibindings.MapBinder&lt;K, V&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <param name="keyType" type="com.google.inject.TypeLiteral&lt;K&gt;"/>

-      <param name="valueType" type="com.google.inject.TypeLiteral&lt;V&gt;"/>

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <doc>

+ {@link Map} that is itself bound with {@code annotation}.]]>
+      </doc>
+    </method>
+    <method name="newMapBinder" return="com.google.inject.multibindings.MapBinder&lt;K, V&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <param name="keyType" type="com.google.inject.TypeLiteral&lt;K&gt;"/>
+      <param name="valueType" type="com.google.inject.TypeLiteral&lt;V&gt;"/>
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <doc>
       <![CDATA[Returns a new mapbinder that collects entries of {@code keyType}/{@code valueType} in a
- {@link Map} that is itself bound with {@code annotationType}.]]>

-      </doc>

-    </method>

-    <method name="newMapBinder" return="com.google.inject.multibindings.MapBinder&lt;K, V&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <param name="keyType" type="java.lang.Class&lt;K&gt;"/>

-      <param name="valueType" type="java.lang.Class&lt;V&gt;"/>

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <doc>

+ {@link Map} that is itself bound with {@code annotationType}.]]>
+      </doc>
+    </method>
+    <method name="newMapBinder" return="com.google.inject.multibindings.MapBinder&lt;K, V&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <param name="keyType" type="java.lang.Class&lt;K&gt;"/>
+      <param name="valueType" type="java.lang.Class&lt;V&gt;"/>
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <doc>
       <![CDATA[Returns a new mapbinder that collects entries of {@code keyType}/{@code valueType} in a
- {@link Map} that is itself bound with {@code annotationType}.]]>

-      </doc>

-    </method>

-    <method name="permitDuplicates" return="com.google.inject.multibindings.MapBinder&lt;K, V&gt;"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ {@link Map} that is itself bound with {@code annotationType}.]]>
+      </doc>
+    </method>
+    <method name="permitDuplicates" return="com.google.inject.multibindings.MapBinder&lt;K, V&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Configures the {@code MapBinder} to handle duplicate entries.
  <p>When multiple equal keys are bound, the value that gets included in the map is
  arbitrary.
@@ -5527,15 +5538,15 @@
  option impacts all of them.
 
  @return this map binder
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="addBinding" return="com.google.inject.binder.LinkedBindingBuilder&lt;V&gt;"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="K"/>

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="addBinding" return="com.google.inject.binder.LinkedBindingBuilder&lt;V&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="K"/>
+      <doc>
       <![CDATA[Returns a binding builder used to add a new entry in the map. Each
  key must be distinct (and non-null). Bound providers will be evaluated each
  time the map is injected.
@@ -5544,10 +5555,10 @@
  {@code to} methods on the returned binding builder.
 
  <p>Scoping elements independently is supported. Use the {@code in} method
- to specify a binding scope.]]>

-      </doc>

-    </method>

-    <doc>

+ to specify a binding scope.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[An API to bind multiple map entries separately, only to later inject them as
  a complete map. MapBinder is intended for use in your application's module:
  <pre><code>
@@ -5611,51 +5622,51 @@
  value is null, map injection will fail (although injecting a map of providers
  will not).
 
- @author dpb@google.com (David P. Baker)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.multibindings.MapBinder -->

-  <!-- start interface com.google.inject.multibindings.MapBinderBinding -->

-  <interface name="MapBinderBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="getMapKey" return="com.google.inject.Key&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the {@link Key} for the map.]]>

-      </doc>

-    </method>

-    <method name="getKeyTypeLiteral" return="com.google.inject.TypeLiteral&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @author dpb@google.com (David P. Baker)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.multibindings.MapBinder -->
+  <!-- start interface com.google.inject.multibindings.MapBinderBinding -->
+  <interface name="MapBinderBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getMapKey" return="com.google.inject.Key&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the {@link Key} for the map.]]>
+      </doc>
+    </method>
+    <method name="getKeyTypeLiteral" return="com.google.inject.TypeLiteral&lt;?&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the TypeLiteral describing the keys of the map.
  <p>
  The TypeLiteral will always match the type Map's generic type. For example, if getMapKey
  returns a key of <code>Map&lt;String, Snack></code>, then this will always return a
- <code>TypeLiteral&lt;String></code>.]]>

-      </doc>

-    </method>

-    <method name="getValueTypeLiteral" return="com.google.inject.TypeLiteral&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ <code>TypeLiteral&lt;String></code>.]]>
+      </doc>
+    </method>
+    <method name="getValueTypeLiteral" return="com.google.inject.TypeLiteral&lt;?&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the TypeLiteral describing the values of the map.
  <p>
  The TypeLiteral will always match the type Map's generic type. For example, if getMapKey
  returns a key of <code>Map&lt;String, Snack></code>, then this will always return a
- <code>TypeLiteral&lt;Snack></code>.]]>

-      </doc>

-    </method>

-    <method name="getEntries" return="java.util.List&lt;java.util.Map.Entry&lt;?, com.google.inject.Binding&lt;?&gt;&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ <code>TypeLiteral&lt;Snack></code>.]]>
+      </doc>
+    </method>
+    <method name="getEntries" return="java.util.List&lt;java.util.Map.Entry&lt;?, com.google.inject.Binding&lt;?&gt;&gt;&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns all entries in the Map. The returned list of Map.Entries contains the key and a binding
  to the value. Duplicate keys or values will exist as separate Map.Entries in the returned list.
  This is only supported on bindings returned from an injector. This will throw
@@ -5664,25 +5675,25 @@
  <p>
  The elements will always match the type Map's generic type. For example, if getMapKey returns a
  key of <code>Map&lt;String, Snack></code>, then this will always return a list of type
- <code>List&lt;Map.Entry&lt;String, Binding&lt;Snack>>></code>.]]>

-      </doc>

-    </method>

-    <method name="permitsDuplicates" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ <code>List&lt;Map.Entry&lt;String, Binding&lt;Snack>>></code>.]]>
+      </doc>
+    </method>
+    <method name="permitsDuplicates" return="boolean"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns true if the MapBinder permits duplicates. This is only supported on bindings returned
  from an injector. This will throw {@link UnsupportedOperationException} if it is called on a
- MapBinderBinding retrieved from {@link Elements#getElements}.]]>

-      </doc>

-    </method>

-    <method name="containsElement" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="element" type="com.google.inject.spi.Element"/>

-      <doc>

+ MapBinderBinding retrieved from {@link Elements#getElements}.]]>
+      </doc>
+    </method>
+    <method name="containsElement" return="boolean"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="element" type="com.google.inject.spi.Element"/>
+      <doc>
       <![CDATA[Returns true if this MapBinder contains the given Element in order to build the map or uses the
  given Element in order to support building and injecting the map. This will work for
  MapBinderBindings retrieved from an injector and {@link Elements#getElements}. Usually this is
@@ -5691,10 +5702,10 @@
  <p>
  If you need to introspect the details of the map, such as the keys, values or if it permits
  duplicates, it is necessary to pass the elements through an Injector and use
- {@link #getEntries()} and {@link #permitsDuplicates()}.]]>

-      </doc>

-    </method>

-    <doc>

+ {@link #getEntries()} and {@link #permitsDuplicates()}.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A binding for a MapBinder.
  <p>
  Although MapBinders may be injected through a variety of generic types (Map&lt;K, V>, Map
@@ -5708,103 +5719,103 @@
           <code>MapBinderBinding&lt;Map&lt;String, Snack>></code>
  
  @since 3.0
- @author sameb@google.com (Sam Berlin)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.multibindings.MapBinderBinding -->

-  <!-- start class com.google.inject.multibindings.Multibinder -->

-  <class name="Multibinder" extends="java.lang.Object"

-    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="newSetBinder" return="com.google.inject.multibindings.Multibinder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <param name="type" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <doc>

+ @author sameb@google.com (Sam Berlin)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.multibindings.MapBinderBinding -->
+  <!-- start class com.google.inject.multibindings.Multibinder -->
+  <class name="Multibinder" extends="java.lang.Object"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="newSetBinder" return="com.google.inject.multibindings.Multibinder&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <param name="type" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns a new multibinder that collects instances of {@code type} in a {@link Set} that is
- itself bound with no binding annotation.]]>

-      </doc>

-    </method>

-    <method name="newSetBinder" return="com.google.inject.multibindings.Multibinder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

+ itself bound with no binding annotation.]]>
+      </doc>
+    </method>
+    <method name="newSetBinder" return="com.google.inject.multibindings.Multibinder&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns a new multibinder that collects instances of {@code type} in a {@link Set} that is
- itself bound with no binding annotation.]]>

-      </doc>

-    </method>

-    <method name="newSetBinder" return="com.google.inject.multibindings.Multibinder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <param name="type" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <param name="annotation" type="java.lang.annotation.Annotation"/>

-      <doc>

+ itself bound with no binding annotation.]]>
+      </doc>
+    </method>
+    <method name="newSetBinder" return="com.google.inject.multibindings.Multibinder&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <param name="type" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <param name="annotation" type="java.lang.annotation.Annotation"/>
+      <doc>
       <![CDATA[Returns a new multibinder that collects instances of {@code type} in a {@link Set} that is
- itself bound with {@code annotation}.]]>

-      </doc>

-    </method>

-    <method name="newSetBinder" return="com.google.inject.multibindings.Multibinder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <param name="annotation" type="java.lang.annotation.Annotation"/>

-      <doc>

+ itself bound with {@code annotation}.]]>
+      </doc>
+    </method>
+    <method name="newSetBinder" return="com.google.inject.multibindings.Multibinder&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <param name="annotation" type="java.lang.annotation.Annotation"/>
+      <doc>
       <![CDATA[Returns a new multibinder that collects instances of {@code type} in a {@link Set} that is
- itself bound with {@code annotation}.]]>

-      </doc>

-    </method>

-    <method name="newSetBinder" return="com.google.inject.multibindings.Multibinder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <param name="type" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <doc>

+ itself bound with {@code annotation}.]]>
+      </doc>
+    </method>
+    <method name="newSetBinder" return="com.google.inject.multibindings.Multibinder&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <param name="type" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <doc>
       <![CDATA[Returns a new multibinder that collects instances of {@code type} in a {@link Set} that is
- itself bound with {@code annotationType}.]]>

-      </doc>

-    </method>

-    <method name="newSetBinder" return="com.google.inject.multibindings.Multibinder&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <doc>

+ itself bound with {@code annotationType}.]]>
+      </doc>
+    </method>
+    <method name="newSetBinder" return="com.google.inject.multibindings.Multibinder&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <doc>
       <![CDATA[Returns a new multibinder that collects instances of {@code type} in a {@link Set} that is
- itself bound with {@code annotationType}.]]>

-      </doc>

-    </method>

-    <method name="permitDuplicates" return="com.google.inject.multibindings.Multibinder&lt;T&gt;"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ itself bound with {@code annotationType}.]]>
+      </doc>
+    </method>
+    <method name="permitDuplicates" return="com.google.inject.multibindings.Multibinder&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Configures the bound set to silently discard duplicate elements. When multiple equal values are
  bound, the one that gets included is arbitrary. When multiple modules contribute elements to
  the set, this configuration option impacts all of them.
 
  @return this multibinder
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="addBinding" return="com.google.inject.binder.LinkedBindingBuilder&lt;T&gt;"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="addBinding" return="com.google.inject.binder.LinkedBindingBuilder&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns a binding builder used to add a new element in the set. Each
  bound element must have a distinct value. Bound providers will be
  evaluated each time the set is injected.
@@ -5813,10 +5824,10 @@
  {@code to} methods on the returned binding builder.
 
  <p>Scoping elements independently is supported. Use the {@code in} method
- to specify a binding scope.]]>

-      </doc>

-    </method>

-    <doc>

+ to specify a binding scope.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[An API to bind multiple values separately, only to later inject them as a
  complete collection. Multibinder is intended for use in your application's
  module:
@@ -5843,13 +5854,13 @@
  to create their own {@code Multibinder<Snack>}, and to each contribute
  bindings to the set of snacks. When that set is injected, it will contain
  elements from both modules.
- 
+
  <p>The set's iteration order is consistent with the binding order. This is
  convenient when multiple elements are contributed by the same module because
  that module can order its bindings appropriately. Avoid relying on the
  iteration order of elements contributed by different modules, since there is
  no equivalent mechanism to order modules.
- 
+
  <p>The set is unmodifiable.  Elements can only be added to the set by
  configuring the multibinder.  Elements can never be removed from the set.
 
@@ -5867,64 +5878,64 @@
  <p><strong>Elements must be non-null.</strong> If any set element is null,
  set injection will fail.
 
- @author jessewilson@google.com (Jesse Wilson)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.multibindings.Multibinder -->

-  <!-- start interface com.google.inject.multibindings.MultibinderBinding -->

-  <interface name="MultibinderBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="getSetKey" return="com.google.inject.Key&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the key for the set.]]>

-      </doc>

-    </method>

-    <method name="getElementTypeLiteral" return="com.google.inject.TypeLiteral&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @author jessewilson@google.com (Jesse Wilson)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.multibindings.Multibinder -->
+  <!-- start interface com.google.inject.multibindings.MultibinderBinding -->
+  <interface name="MultibinderBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getSetKey" return="com.google.inject.Key&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the key for the set.]]>
+      </doc>
+    </method>
+    <method name="getElementTypeLiteral" return="com.google.inject.TypeLiteral&lt;?&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the TypeLiteral that describes the type of elements in the set.
  <p>
  The elements will always match the type Set's generic type. For example, if getSetKey returns a
  key of <code>Set&lt;String></code>, then this will always return a
- <code>TypeLiteral&lt;String></code>.]]>

-      </doc>

-    </method>

-    <method name="getElements" return="java.util.List&lt;com.google.inject.Binding&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ <code>TypeLiteral&lt;String></code>.]]>
+      </doc>
+    </method>
+    <method name="getElements" return="java.util.List&lt;com.google.inject.Binding&lt;?&gt;&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns all bindings that make up the set. This is only supported on bindings returned from an
  injector. This will throw {@link UnsupportedOperationException} if it is called on an element
  retrieved from {@link Elements#getElements}.
  <p>
  The elements will always match the type Set's generic type. For example, if getSetKey returns a
  key of <code>Set&lt;String></code>, then this will always return a list of type
- <code>List&lt;Binding&lt;String>></code>.]]>

-      </doc>

-    </method>

-    <method name="permitsDuplicates" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ <code>List&lt;Binding&lt;String>></code>.]]>
+      </doc>
+    </method>
+    <method name="permitsDuplicates" return="boolean"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns true if the multibinder permits duplicates. This is only supported on bindings returned
  from an injector. This will throw {@link UnsupportedOperationException} if it is called on a
- MultibinderBinding retrieved from {@link Elements#getElements}.]]>

-      </doc>

-    </method>

-    <method name="containsElement" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="element" type="com.google.inject.spi.Element"/>

-      <doc>

+ MultibinderBinding retrieved from {@link Elements#getElements}.]]>
+      </doc>
+    </method>
+    <method name="containsElement" return="boolean"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="element" type="com.google.inject.spi.Element"/>
+      <doc>
       <![CDATA[Returns true if this Multibinder uses the given Element. This will be true for bindings that
  derive the elements of the set and other bindings that Multibinder uses internally. This will
  work for MultibinderBindings retrieved from an injector and {@link Elements#getElements}.
@@ -5933,146 +5944,146 @@
  <p>
  If you need to introspect the details of the set, such as the values or if it permits
  duplicates, it is necessary to pass the elements through an Injector and use
- {@link #getElements()} and {@link #permitsDuplicates()}.]]>

-      </doc>

-    </method>

-    <doc>

+ {@link #getElements()} and {@link #permitsDuplicates()}.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A binding for a Multibinder.
  
  @param <T> The fully qualified type of the set, including Set. For example:
           <code>MultibinderBinding&lt;Set&lt;Boolean>></code>
  
  @since 3.0
- @author sameb@google.com (Sam Berlin)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.multibindings.MultibinderBinding -->

-  <!-- start interface com.google.inject.multibindings.MultibindingsTargetVisitor -->

-  <interface name="MultibindingsTargetVisitor"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.BindingTargetVisitor&lt;T, V&gt;"/>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="multibinding" type="com.google.inject.multibindings.MultibinderBinding&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[Visits a binding created through {@link Multibinder}.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="mapbinding" type="com.google.inject.multibindings.MapBinderBinding&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[Visits a binding created through {@link MapBinder}.]]>

-      </doc>

-    </method>

-    <doc>

+ @author sameb@google.com (Sam Berlin)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.multibindings.MultibinderBinding -->
+  <!-- start interface com.google.inject.multibindings.MultibindingsTargetVisitor -->
+  <interface name="MultibindingsTargetVisitor"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.BindingTargetVisitor&lt;T, V&gt;"/>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="multibinding" type="com.google.inject.multibindings.MultibinderBinding&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[Visits a binding created through {@link Multibinder}.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="mapbinding" type="com.google.inject.multibindings.MapBinderBinding&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[Visits a binding created through {@link MapBinder}.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A visitor for the multibinder extension.
  <p>
  If your {@link BindingTargetVisitor} implements this interface, bindings created by using
  {@link Multibinder} or {@link MapBinder} will be visited through this interface.
  
  @since 3.0
- @author sameb@google.com (Sam Berlin)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.multibindings.MultibindingsTargetVisitor -->

-</package>

-<package name="com.google.inject.name">

-  <!-- start class com.google.inject.name.Named -->

-  <class name="Named"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @author sameb@google.com (Sam Berlin)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.multibindings.MultibindingsTargetVisitor -->
+</package>
+<package name="com.google.inject.name">
+  <!-- start class com.google.inject.name.Named -->
+  <class name="Named"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Annotates named things.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.name.Named -->

-  <!-- start class com.google.inject.name.Names -->

-  <class name="Names" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="named" return="com.google.inject.name.Named"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="name" type="java.lang.String"/>

-      <doc>

-      <![CDATA[Creates a {@link Named} annotation with {@code name} as the value.]]>

-      </doc>

-    </method>

-    <method name="bindProperties"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <param name="properties" type="java.util.Map&lt;java.lang.String, java.lang.String&gt;"/>

-      <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.name.Named -->
+  <!-- start class com.google.inject.name.Names -->
+  <class name="Names" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="named" return="com.google.inject.name.Named"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+      <doc>
+      <![CDATA[Creates a {@link Named} annotation with {@code name} as the value.]]>
+      </doc>
+    </method>
+    <method name="bindProperties"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <param name="properties" type="java.util.Map&lt;java.lang.String, java.lang.String&gt;"/>
+      <doc>
       <![CDATA[Creates a constant binding to {@code @Named(key)} for each entry in
- {@code properties}.]]>

-      </doc>

-    </method>

-    <method name="bindProperties"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <param name="properties" type="java.util.Properties"/>

-      <doc>

+ {@code properties}.]]>
+      </doc>
+    </method>
+    <method name="bindProperties"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <param name="properties" type="java.util.Properties"/>
+      <doc>
       <![CDATA[Creates a constant binding to {@code @Named(key)} for each property. This
  method binds all properties including those inherited from 
- {@link Properties#defaults defaults}.]]>

-      </doc>

-    </method>

-    <doc>

+ {@link Properties#defaults defaults}.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Utility methods for use with {@code @}{@link Named}.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.name.Names -->

-</package>

-<package name="com.google.inject.persist">

-  <!-- start class com.google.inject.persist.PersistFilter -->

-  <class name="PersistFilter" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="PersistFilter" type="com.google.inject.persist.UnitOfWork, com.google.inject.persist.PersistService"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="init"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="filterConfig" type="FilterConfig"/>

-      <exception name="ServletException" type="ServletException"/>

-    </method>

-    <method name="destroy"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="doFilter"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="servletRequest" type="ServletRequest"/>

-      <param name="servletResponse" type="ServletResponse"/>

-      <param name="filterChain" type="FilterChain"/>

-      <exception name="IOException" type="java.io.IOException"/>

-      <exception name="ServletException" type="ServletException"/>

-    </method>

-    <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.name.Names -->
+</package>
+<package name="com.google.inject.persist">
+  <!-- start class com.google.inject.persist.PersistFilter -->
+  <class name="PersistFilter" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="PersistFilter" type="com.google.inject.persist.UnitOfWork, com.google.inject.persist.PersistService"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="init"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="filterConfig" type="FilterConfig"/>
+      <exception name="ServletException" type="ServletException"/>
+    </method>
+    <method name="destroy"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="doFilter"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="servletRequest" type="ServletRequest"/>
+      <param name="servletResponse" type="ServletResponse"/>
+      <param name="filterChain" type="FilterChain"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <exception name="ServletException" type="ServletException"/>
+    </method>
+    <doc>
     <![CDATA[Apply this filter to enable the HTTP Request unit of work and to have
  guice-persist manage the lifecycle of active units of work.
  The filter automatically starts and stops the relevant {@link PersistService}
@@ -6106,85 +6117,85 @@
  <p>
  This filter requires the Guice Servlet extension.
 
- @author Dhanji R. Prasanna (dhanji@gmail.com)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.persist.PersistFilter -->

-  <!-- start class com.google.inject.persist.PersistModule -->

-  <class name="PersistModule" extends="com.google.inject.AbstractModule"

-    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="PersistModule"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="configure"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-    </method>

-    <method name="configurePersistence"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-    </method>

-    <method name="getTransactionInterceptor" return="org.aopalliance.intercept.MethodInterceptor"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @author Dhanji R. Prasanna (dhanji@gmail.com)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.persist.PersistFilter -->
+  <!-- start class com.google.inject.persist.PersistModule -->
+  <class name="PersistModule" extends="com.google.inject.AbstractModule"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="PersistModule"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="configure"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+    </method>
+    <method name="configurePersistence"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </method>
+    <method name="getTransactionInterceptor" return="org.aopalliance.intercept.MethodInterceptor"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[Install this module to add guice-persist library support for JPA persistence
  providers.
 
- @author dhanji@gmail.com (Dhanji R. Prasanna)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.persist.PersistModule -->

-  <!-- start interface com.google.inject.persist.PersistService -->

-  <interface name="PersistService"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="start"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @author dhanji@gmail.com (Dhanji R. Prasanna)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.persist.PersistModule -->
+  <!-- start interface com.google.inject.persist.PersistService -->
+  <interface name="PersistService"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="start"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Starts the underlying persistence engine and makes guice-persist ready for
  use. For instance, with JPA, it creates an EntityManagerFactory and may
  open connection pools. This method must be called by your code prior to
  using any guice-persist or JPA artifacts. If already started,
  calling this method does nothing, if already stopped, it also does
- nothing.]]>

-      </doc>

-    </method>

-    <method name="stop"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ nothing.]]>
+      </doc>
+    </method>
+    <method name="stop"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Stops the underlying persistence engine. For instance, with JPA, it
  closes the {@code EntityManagerFactory}. If already stopped, calling this
- method does nothing. If not yet started, it also does nothing.]]>

-      </doc>

-    </method>

-    <doc>

+ method does nothing. If not yet started, it also does nothing.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Persistence provider service. Use this to manage the overall
  startup and stop of the persistence module(s).
 
  TODO(dhanji): Integrate with Service API when appropriate.
 
- @author dhanji@gmail.com (Dhanji R. Prasanna)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.persist.PersistService -->

-  <!-- start class com.google.inject.persist.Transactional -->

-  <class name="Transactional"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @author dhanji@gmail.com (Dhanji R. Prasanna)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.persist.PersistService -->
+  <!-- start class com.google.inject.persist.Transactional -->
+  <class name="Transactional"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[<p> Any method or class marked with this annotation will be considered for transactionality.
  Consult the documentation on http://code.google.com/p/google-guice for detailed semantics.
  Marking a method {@code @Transactional} will start a new transaction before the method
@@ -6197,39 +6208,39 @@
  the {@link #rollbackOn()} clause. By default, only unchecked exceptions trigger a
  rollback.
 
- @author Dhanji R. Prasanna (dhanji@gmail.com)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.persist.Transactional -->

-  <!-- start interface com.google.inject.persist.UnitOfWork -->

-  <interface name="UnitOfWork"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="begin"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @author Dhanji R. Prasanna (dhanji@gmail.com)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.persist.Transactional -->
+  <!-- start interface com.google.inject.persist.UnitOfWork -->
+  <interface name="UnitOfWork"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="begin"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Starts a Unit Of Work. Underneath, causes a session to the data layer to be opened. If there
  is already one open, the invocation will do nothing. In this way, you can define arbitrary
  units-of-work that nest within one another safely.
 
- Transaction semantics are not affected.]]>

-      </doc>

-    </method>

-    <method name="end"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ Transaction semantics are not affected.]]>
+      </doc>
+    </method>
+    <method name="end"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Declares an end to the current Unit of Work. Underneath, causes any open session to the data
  layer to close. If there is no Unit of work open, then the call returns silently. You can
  safely invoke end() repeatedly.
  <p>
- Transaction semantics are not affected.]]>

-      </doc>

-    </method>

-    <doc>

+ Transaction semantics are not affected.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[This interface is used to gain manual control over the unit of work. This is mostly to do
  work in non-request, non-transactional threads. Or where more fine-grained control over the unit
  of work is required. Starting and ending a unit of work directly corresponds to opening and
@@ -6246,170 +6257,170 @@
        background or bootstrap thread) is probably a good use case.</li>
   </ul>
 
- @author Dhanji R. Prasanna (dhanji@gmail com)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.persist.UnitOfWork -->

-</package>

-<package name="com.google.inject.persist.finder">

-  <!-- start class com.google.inject.persist.finder.DynamicFinder -->

-  <class name="DynamicFinder" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="DynamicFinder" type="java.lang.reflect.Method"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="from" return="com.google.inject.persist.finder.DynamicFinder"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="method" type="java.lang.reflect.Method"/>

-      <doc>

+ @author Dhanji R. Prasanna (dhanji@gmail com)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.persist.UnitOfWork -->
+</package>
+<package name="com.google.inject.persist.finder">
+  <!-- start class com.google.inject.persist.finder.DynamicFinder -->
+  <class name="DynamicFinder" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="DynamicFinder" type="java.lang.reflect.Method"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="from" return="com.google.inject.persist.finder.DynamicFinder"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="method" type="java.lang.reflect.Method"/>
+      <doc>
       <![CDATA[Returns some metadata if the method is annotated {@code @Finder} or null.
 
- @param method a method you want to test as a dynamic finder]]>

-      </doc>

-    </method>

-    <method name="metadata" return="com.google.inject.persist.finder.Finder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @param method a method you want to test as a dynamic finder]]>
+      </doc>
+    </method>
+    <method name="metadata" return="com.google.inject.persist.finder.Finder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[Utility that helps you introspect dynamic finder methods.
 
- @author dhanji@gmail.com (Dhanji R. Prasanna)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.persist.finder.DynamicFinder -->

-  <!-- start class com.google.inject.persist.finder.Finder -->

-  <class name="Finder"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @author dhanji@gmail.com (Dhanji R. Prasanna)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.persist.finder.DynamicFinder -->
+  <!-- start class com.google.inject.persist.finder.Finder -->
+  <class name="Finder"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Marks a method stub as a dynamic finder. The method is intercepted and replaced with the
  specified JPAQL query. Provides result auto-boxing and automatic parameter binding.
 
- @author Dhanji R. Prasanna (dhanji@gmail.com)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.persist.finder.Finder -->

-  <!-- start class com.google.inject.persist.finder.FirstResult -->

-  <class name="FirstResult"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @author Dhanji R. Prasanna (dhanji@gmail.com)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.persist.finder.Finder -->
+  <!-- start class com.google.inject.persist.finder.FirstResult -->
+  <class name="FirstResult"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Annotate any dynamic finder method's integer argument with this to pass in
  the index of the first result in the result set you are interested in.
  Useful for paging result sets. Complemented by {@link MaxResults}.
 
- @author Dhanji R. Prasanna (dhanji@gmail.com)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.persist.finder.FirstResult -->

-  <!-- start class com.google.inject.persist.finder.MaxResults -->

-  <class name="MaxResults"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @author Dhanji R. Prasanna (dhanji@gmail.com)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.persist.finder.FirstResult -->
+  <!-- start class com.google.inject.persist.finder.MaxResults -->
+  <class name="MaxResults"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Annotate any dynamic finder method's integer argument with this to pass in
  the maximum size of returned result window. Usefule for paging result sets.
  Complement of {@link FirstResult}.
 
- @author Dhanji R. Prasanna (dhanji@gmail.com)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.persist.finder.MaxResults -->

-</package>

-<package name="com.google.inject.persist.jpa">

-  <!-- start class com.google.inject.persist.jpa.JpaPersistModule -->

-  <class name="JpaPersistModule" extends="com.google.inject.persist.PersistModule"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="JpaPersistModule" type="java.lang.String"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="configurePersistence"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-    </method>

-    <method name="getTransactionInterceptor" return="org.aopalliance.intercept.MethodInterceptor"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-    </method>

-    <method name="properties" return="com.google.inject.persist.jpa.JpaPersistModule"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="properties" type="java.util.Properties"/>

-      <doc>

+ @author Dhanji R. Prasanna (dhanji@gmail.com)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.persist.finder.MaxResults -->
+</package>
+<package name="com.google.inject.persist.jpa">
+  <!-- start class com.google.inject.persist.jpa.JpaPersistModule -->
+  <class name="JpaPersistModule" extends="com.google.inject.persist.PersistModule"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="JpaPersistModule" type="java.lang.String"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="configurePersistence"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </method>
+    <method name="getTransactionInterceptor" return="org.aopalliance.intercept.MethodInterceptor"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </method>
+    <method name="properties" return="com.google.inject.persist.jpa.JpaPersistModule"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="properties" type="java.util.Properties"/>
+      <doc>
       <![CDATA[Configures the JPA persistence provider with a set of properties.
  
  @param properties A set of name value pairs that configure a JPA persistence
- provider as per the specification.]]>

-      </doc>

-    </method>

-    <method name="addFinder" return="com.google.inject.persist.jpa.JpaPersistModule"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="iface" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

+ provider as per the specification.]]>
+      </doc>
+    </method>
+    <method name="addFinder" return="com.google.inject.persist.jpa.JpaPersistModule"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="iface" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
       <![CDATA[Adds an interface to this module to use as a dynamic finder.
 
- @param iface Any interface type whose methods are all dynamic finders.]]>

-      </doc>

-    </method>

-    <doc>

+ @param iface Any interface type whose methods are all dynamic finders.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[JPA provider for guice persist.
 
- @author dhanji@gmail.com (Dhanji R. Prasanna)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.persist.jpa.JpaPersistModule -->

-</package>

-<package name="com.google.inject.servlet">

-  <!-- start class com.google.inject.servlet.GuiceFilter -->

-  <class name="GuiceFilter" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="GuiceFilter"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="doFilter"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="servletRequest" type="ServletRequest"/>

-      <param name="servletResponse" type="ServletResponse"/>

-      <param name="filterChain" type="FilterChain"/>

-      <exception name="IOException" type="java.io.IOException"/>

-      <exception name="ServletException" type="ServletException"/>

-    </method>

-    <method name="init"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="filterConfig" type="FilterConfig"/>

-      <exception name="ServletException" type="ServletException"/>

-    </method>

-    <method name="destroy"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @author dhanji@gmail.com (Dhanji R. Prasanna)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.persist.jpa.JpaPersistModule -->
+</package>
+<package name="com.google.inject.servlet">
+  <!-- start class com.google.inject.servlet.GuiceFilter -->
+  <class name="GuiceFilter" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="GuiceFilter"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="doFilter"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="servletRequest" type="ServletRequest"/>
+      <param name="servletResponse" type="ServletResponse"/>
+      <param name="filterChain" type="FilterChain"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <exception name="ServletException" type="ServletException"/>
+    </method>
+    <method name="init"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="filterConfig" type="FilterConfig"/>
+      <exception name="ServletException" type="ServletException"/>
+    </method>
+    <method name="destroy"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[<p>
  Apply this filter in web.xml above all other filters (typically), to all requests where you plan
   to use servlet scopes. This is also needed in order to dispatch requests to injectable filters
@@ -6431,207 +6442,207 @@
  any other filters (and servlets) using a {@link ServletModule}.
 
  @author crazybob@google.com (Bob Lee)
- @author dhanji@gmail.com (Dhanji R. Prasanna)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.servlet.GuiceFilter -->

-  <!-- start class com.google.inject.servlet.GuiceServletContextListener -->

-  <class name="GuiceServletContextListener" extends="java.lang.Object"

-    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="GuiceServletContextListener"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="contextInitialized"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="servletContextEvent" type="ServletContextEvent"/>

-    </method>

-    <method name="contextDestroyed"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="servletContextEvent" type="ServletContextEvent"/>

-    </method>

-    <method name="getInjector" return="com.google.inject.Injector"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <doc>

+ @author dhanji@gmail.com (Dhanji R. Prasanna)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.servlet.GuiceFilter -->
+  <!-- start class com.google.inject.servlet.GuiceServletContextListener -->
+  <class name="GuiceServletContextListener" extends="java.lang.Object"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="GuiceServletContextListener"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="contextInitialized"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="servletContextEvent" type="ServletContextEvent"/>
+    </method>
+    <method name="contextDestroyed"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="servletContextEvent" type="ServletContextEvent"/>
+    </method>
+    <method name="getInjector" return="com.google.inject.Injector"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Override this method to create (or otherwise obtain a reference to) your
- injector.]]>

-      </doc>

-    </method>

-    <doc>

+ injector.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[As of Guice 2.0 you can still use (your subclasses of) {@code GuiceServletContextListener}
  class as a logical place to create and configure your injector. This will ensure the injector
  is created when the web application is deployed.
  
  @author Kevin Bourrillion (kevinb@google.com)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.servlet.GuiceServletContextListener -->

-  <!-- start interface com.google.inject.servlet.InstanceFilterBinding -->

-  <interface name="InstanceFilterBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.servlet.ServletModuleBinding"/>

-    <method name="getFilterInstance" return="Filter"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the filter instance that will be used.]]>

-      </doc>

-    </method>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.servlet.GuiceServletContextListener -->
+  <!-- start interface com.google.inject.servlet.InstanceFilterBinding -->
+  <interface name="InstanceFilterBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.servlet.ServletModuleBinding"/>
+    <method name="getFilterInstance" return="Filter"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the filter instance that will be used.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A binding to a single instance of a filter. 
 
  @author sameb@google.com
- @since 3.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.servlet.InstanceFilterBinding -->

-  <!-- start interface com.google.inject.servlet.InstanceServletBinding -->

-  <interface name="InstanceServletBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.servlet.ServletModuleBinding"/>

-    <method name="getServletInstance" return="HttpServlet"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the servlet instance that will be used.]]>

-      </doc>

-    </method>

-    <doc>

+ @since 3.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.servlet.InstanceFilterBinding -->
+  <!-- start interface com.google.inject.servlet.InstanceServletBinding -->
+  <interface name="InstanceServletBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.servlet.ServletModuleBinding"/>
+    <method name="getServletInstance" return="HttpServlet"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the servlet instance that will be used.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A binding to a single instance of a servlet. 
 
  @author sameb@google.com
- @since 3.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.servlet.InstanceServletBinding -->

-  <!-- start interface com.google.inject.servlet.LinkedFilterBinding -->

-  <interface name="LinkedFilterBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.servlet.ServletModuleBinding"/>

-    <method name="getLinkedKey" return="com.google.inject.Key&lt;? extends Filter&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the key used to lookup the filter instance.]]>

-      </doc>

-    </method>

-    <doc>

+ @since 3.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.servlet.InstanceServletBinding -->
+  <!-- start interface com.google.inject.servlet.LinkedFilterBinding -->
+  <interface name="LinkedFilterBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.servlet.ServletModuleBinding"/>
+    <method name="getLinkedKey" return="com.google.inject.Key&lt;? extends Filter&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the key used to lookup the filter instance.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A linked binding to a filter. 
 
  @author sameb@google.com
- @since 3.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.servlet.LinkedFilterBinding -->

-  <!-- start interface com.google.inject.servlet.LinkedServletBinding -->

-  <interface name="LinkedServletBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.servlet.ServletModuleBinding"/>

-    <method name="getLinkedKey" return="com.google.inject.Key&lt;? extends HttpServlet&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the key used to lookup the servlet instance.]]>

-      </doc>

-    </method>

-    <doc>

+ @since 3.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.servlet.LinkedFilterBinding -->
+  <!-- start interface com.google.inject.servlet.LinkedServletBinding -->
+  <interface name="LinkedServletBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.servlet.ServletModuleBinding"/>
+    <method name="getLinkedKey" return="com.google.inject.Key&lt;? extends HttpServlet&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the key used to lookup the servlet instance.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A linked binding to a servlet. 
 
  @author sameb@google.com
- @since 3.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.servlet.LinkedServletBinding -->

-  <!-- start class com.google.inject.servlet.RequestParameters -->

-  <class name="RequestParameters"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @since 3.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.servlet.LinkedServletBinding -->
+  <!-- start class com.google.inject.servlet.RequestParameters -->
+  <class name="RequestParameters"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Apply this to field or parameters of type {@code Map<String, String[]>}
  when you want the HTTP request parameter map to be injected.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.servlet.RequestParameters -->

-  <!-- start class com.google.inject.servlet.RequestScoped -->

-  <class name="RequestScoped"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.servlet.RequestParameters -->
+  <!-- start class com.google.inject.servlet.RequestScoped -->
+  <class name="RequestScoped"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Apply this to implementation classes when you want one instance per request.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.servlet.RequestScoped -->

-  <!-- start class com.google.inject.servlet.ScopingException -->

-  <class name="ScopingException" extends="java.lang.IllegalStateException"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="ScopingException" type="java.lang.String"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.servlet.RequestScoped -->
+  <!-- start class com.google.inject.servlet.ScopingException -->
+  <class name="ScopingException" extends="java.lang.IllegalStateException"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="ScopingException" type="java.lang.String"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <doc>
     <![CDATA[Exception thrown when there was a failure entering request scope.
 
- @author Chris Nokleberg]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.servlet.ScopingException -->

-  <!-- start class com.google.inject.servlet.ScopingOnly -->

-  <class name="ScopingOnly"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @author Chris Nokleberg]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.servlet.ScopingException -->
+  <!-- start class com.google.inject.servlet.ScopingOnly -->
+  <class name="ScopingOnly"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Annotates a {@link GuiceFilter} that provides scope functionality, but
  doesn't dispatch to {@link ServletModule} bound servlets or filters.
 
- @author iqshum@google.com (Isaac Shum)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.servlet.ScopingOnly -->

-  <!-- start class com.google.inject.servlet.ServletModule -->

-  <class name="ServletModule" extends="com.google.inject.AbstractModule"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="ServletModule"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="configure"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-    </method>

-    <method name="configureServlets"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <doc>

+ @author iqshum@google.com (Isaac Shum)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.servlet.ScopingOnly -->
+  <!-- start class com.google.inject.servlet.ServletModule -->
+  <class name="ServletModule" extends="com.google.inject.AbstractModule"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="ServletModule"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="configure"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+    </method>
+    <method name="configureServlets"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[<h3>Servlet Mapping EDSL</h3>
 
  <p> Part of the EDSL builder language for configuring servlets
@@ -6796,65 +6807,65 @@
 
  In the case shown above {@code WebServiceFilter} will run first.
  
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="filter" return="com.google.inject.servlet.ServletModule.FilterKeyBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="urlPattern" type="java.lang.String"/>

-      <param name="morePatterns" type="java.lang.String[]"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="filter" return="com.google.inject.servlet.ServletModule.FilterKeyBindingBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="urlPattern" type="java.lang.String"/>
+      <param name="morePatterns" type="java.lang.String[]"/>
+      <doc>
       <![CDATA[@param urlPattern Any Servlet-style pattern. examples: /*, /html/*, *.html, etc.
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="filterRegex" return="com.google.inject.servlet.ServletModule.FilterKeyBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="regex" type="java.lang.String"/>

-      <param name="regexes" type="java.lang.String[]"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="filterRegex" return="com.google.inject.servlet.ServletModule.FilterKeyBindingBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="regex" type="java.lang.String"/>
+      <param name="regexes" type="java.lang.String[]"/>
+      <doc>
       <![CDATA[@param regex Any Java-style regular expression.
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="serve" return="com.google.inject.servlet.ServletModule.ServletKeyBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="urlPattern" type="java.lang.String"/>

-      <param name="morePatterns" type="java.lang.String[]"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="serve" return="com.google.inject.servlet.ServletModule.ServletKeyBindingBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="urlPattern" type="java.lang.String"/>
+      <param name="morePatterns" type="java.lang.String[]"/>
+      <doc>
       <![CDATA[@param urlPattern Any Servlet-style pattern. examples: /*, /html/*, *.html, etc.
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="serveRegex" return="com.google.inject.servlet.ServletModule.ServletKeyBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <param name="regex" type="java.lang.String"/>

-      <param name="regexes" type="java.lang.String[]"/>

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="serveRegex" return="com.google.inject.servlet.ServletModule.ServletKeyBindingBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <param name="regex" type="java.lang.String"/>
+      <param name="regexes" type="java.lang.String[]"/>
+      <doc>
       <![CDATA[@param regex Any Java-style regular expression.
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="getServletContext" return="ServletContext"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="true" visibility="protected"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="getServletContext" return="ServletContext"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[This method only works if you are using the {@linkplain GuiceServletContextListener} to
  create your injector. Otherwise, it returns null.
  @return The current servlet context.
- @since 3.0]]>

-      </doc>

-    </method>

-    <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Configures the servlet scopes and creates bindings for the servlet API
  objects so you can inject the request, response, session, etc.
 
@@ -6863,243 +6874,243 @@
  filters in the {@link #configureServlets()} method.
 
  @author crazybob@google.com (Bob Lee)
- @author dhanji@gmail.com (Dhanji R. Prasanna)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.servlet.ServletModule -->

-  <!-- start interface com.google.inject.servlet.ServletModule.FilterKeyBindingBuilder -->

-  <interface name="ServletModule.FilterKeyBindingBuilder"    abstract="true"

-    static="true" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="through"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="filterKey" type="java.lang.Class&lt;? extends Filter&gt;"/>

-    </method>

-    <method name="through"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="filterKey" type="com.google.inject.Key&lt;? extends Filter&gt;"/>

-    </method>

-    <method name="through"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="filter" type="Filter"/>

-      <doc>

-      <![CDATA[@since 3.0]]>

-      </doc>

-    </method>

-    <method name="through"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="filterKey" type="java.lang.Class&lt;? extends Filter&gt;"/>

-      <param name="initParams" type="java.util.Map&lt;java.lang.String, java.lang.String&gt;"/>

-    </method>

-    <method name="through"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="filterKey" type="com.google.inject.Key&lt;? extends Filter&gt;"/>

-      <param name="initParams" type="java.util.Map&lt;java.lang.String, java.lang.String&gt;"/>

-    </method>

-    <method name="through"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="filter" type="Filter"/>

-      <param name="initParams" type="java.util.Map&lt;java.lang.String, java.lang.String&gt;"/>

-      <doc>

-      <![CDATA[@since 3.0]]>

-      </doc>

-    </method>

-    <doc>

+ @author dhanji@gmail.com (Dhanji R. Prasanna)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.servlet.ServletModule -->
+  <!-- start interface com.google.inject.servlet.ServletModule.FilterKeyBindingBuilder -->
+  <interface name="ServletModule.FilterKeyBindingBuilder"    abstract="true"
+    static="true" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="through"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="filterKey" type="java.lang.Class&lt;? extends Filter&gt;"/>
+    </method>
+    <method name="through"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="filterKey" type="com.google.inject.Key&lt;? extends Filter&gt;"/>
+    </method>
+    <method name="through"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="filter" type="Filter"/>
+      <doc>
+      <![CDATA[@since 3.0]]>
+      </doc>
+    </method>
+    <method name="through"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="filterKey" type="java.lang.Class&lt;? extends Filter&gt;"/>
+      <param name="initParams" type="java.util.Map&lt;java.lang.String, java.lang.String&gt;"/>
+    </method>
+    <method name="through"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="filterKey" type="com.google.inject.Key&lt;? extends Filter&gt;"/>
+      <param name="initParams" type="java.util.Map&lt;java.lang.String, java.lang.String&gt;"/>
+    </method>
+    <method name="through"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="filter" type="Filter"/>
+      <param name="initParams" type="java.util.Map&lt;java.lang.String, java.lang.String&gt;"/>
+      <doc>
+      <![CDATA[@since 3.0]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[See the EDSL examples at {@link ServletModule#configureServlets()}
 
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.servlet.ServletModule.FilterKeyBindingBuilder -->

-  <!-- start interface com.google.inject.servlet.ServletModule.ServletKeyBindingBuilder -->

-  <interface name="ServletModule.ServletKeyBindingBuilder"    abstract="true"

-    static="true" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="with"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="servletKey" type="java.lang.Class&lt;? extends HttpServlet&gt;"/>

-    </method>

-    <method name="with"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="servletKey" type="com.google.inject.Key&lt;? extends HttpServlet&gt;"/>

-    </method>

-    <method name="with"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="servlet" type="HttpServlet"/>

-      <doc>

-      <![CDATA[@since 3.0]]>

-      </doc>

-    </method>

-    <method name="with"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="servletKey" type="java.lang.Class&lt;? extends HttpServlet&gt;"/>

-      <param name="initParams" type="java.util.Map&lt;java.lang.String, java.lang.String&gt;"/>

-    </method>

-    <method name="with"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="servletKey" type="com.google.inject.Key&lt;? extends HttpServlet&gt;"/>

-      <param name="initParams" type="java.util.Map&lt;java.lang.String, java.lang.String&gt;"/>

-    </method>

-    <method name="with"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="servlet" type="HttpServlet"/>

-      <param name="initParams" type="java.util.Map&lt;java.lang.String, java.lang.String&gt;"/>

-      <doc>

-      <![CDATA[@since 3.0]]>

-      </doc>

-    </method>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.servlet.ServletModule.FilterKeyBindingBuilder -->
+  <!-- start interface com.google.inject.servlet.ServletModule.ServletKeyBindingBuilder -->
+  <interface name="ServletModule.ServletKeyBindingBuilder"    abstract="true"
+    static="true" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="with"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="servletKey" type="java.lang.Class&lt;? extends HttpServlet&gt;"/>
+    </method>
+    <method name="with"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="servletKey" type="com.google.inject.Key&lt;? extends HttpServlet&gt;"/>
+    </method>
+    <method name="with"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="servlet" type="HttpServlet"/>
+      <doc>
+      <![CDATA[@since 3.0]]>
+      </doc>
+    </method>
+    <method name="with"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="servletKey" type="java.lang.Class&lt;? extends HttpServlet&gt;"/>
+      <param name="initParams" type="java.util.Map&lt;java.lang.String, java.lang.String&gt;"/>
+    </method>
+    <method name="with"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="servletKey" type="com.google.inject.Key&lt;? extends HttpServlet&gt;"/>
+      <param name="initParams" type="java.util.Map&lt;java.lang.String, java.lang.String&gt;"/>
+    </method>
+    <method name="with"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="servlet" type="HttpServlet"/>
+      <param name="initParams" type="java.util.Map&lt;java.lang.String, java.lang.String&gt;"/>
+      <doc>
+      <![CDATA[@since 3.0]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[See the EDSL examples at {@link ServletModule#configureServlets()}
 
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.servlet.ServletModule.ServletKeyBindingBuilder -->

-  <!-- start interface com.google.inject.servlet.ServletModuleBinding -->

-  <interface name="ServletModuleBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="getUriPatternType" return="com.google.inject.servlet.UriPatternType"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the pattern type that this binding was created with.]]>

-      </doc>

-    </method>

-    <method name="getPattern" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the pattern used to match against the binding.]]>

-      </doc>

-    </method>

-    <method name="getInitParams" return="java.util.Map&lt;java.lang.String, java.lang.String&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns any context params supplied when creating the binding.]]>

-      </doc>

-    </method>

-    <method name="matchesUri" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="uri" type="java.lang.String"/>

-      <doc>

-      <![CDATA[Returns true if the given URI will match this binding.]]>

-      </doc>

-    </method>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.servlet.ServletModule.ServletKeyBindingBuilder -->
+  <!-- start interface com.google.inject.servlet.ServletModuleBinding -->
+  <interface name="ServletModuleBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getUriPatternType" return="com.google.inject.servlet.UriPatternType"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the pattern type that this binding was created with.]]>
+      </doc>
+    </method>
+    <method name="getPattern" return="java.lang.String"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the pattern used to match against the binding.]]>
+      </doc>
+    </method>
+    <method name="getInitParams" return="java.util.Map&lt;java.lang.String, java.lang.String&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns any context params supplied when creating the binding.]]>
+      </doc>
+    </method>
+    <method name="matchesUri" return="boolean"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="uri" type="java.lang.String"/>
+      <doc>
+      <![CDATA[Returns true if the given URI will match this binding.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A binding created by {@link ServletModule}.
  
  @author sameb@google.com (Sam Berlin)
- @since 3.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.servlet.ServletModuleBinding -->

-  <!-- start interface com.google.inject.servlet.ServletModuleTargetVisitor -->

-  <interface name="ServletModuleTargetVisitor"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.BindingTargetVisitor&lt;T, V&gt;"/>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.servlet.LinkedFilterBinding"/>

-      <doc>

+ @since 3.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.servlet.ServletModuleBinding -->
+  <!-- start interface com.google.inject.servlet.ServletModuleTargetVisitor -->
+  <interface name="ServletModuleTargetVisitor"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.BindingTargetVisitor&lt;T, V&gt;"/>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.servlet.LinkedFilterBinding"/>
+      <doc>
       <![CDATA[Visits a filter binding created by {@link ServletModule#filter}, where
  {@link FilterKeyBindingBuilder#through} is called with a Class or Key.
  
- If multiple patterns were specified, this will be called multiple times.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.servlet.InstanceFilterBinding"/>

-      <doc>

+ If multiple patterns were specified, this will be called multiple times.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.servlet.InstanceFilterBinding"/>
+      <doc>
       <![CDATA[Visits a filter binding created by {@link ServletModule#filter} where
  {@link FilterKeyBindingBuilder#through} is called with a {@link Filter}.
  
- If multiple patterns were specified, this will be called multiple times.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.servlet.LinkedServletBinding"/>

-      <doc>

+ If multiple patterns were specified, this will be called multiple times.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.servlet.LinkedServletBinding"/>
+      <doc>
       <![CDATA[Visits a servlet binding created by {@link ServletModule#serve} where
  {@link ServletKeyBindingBuilder#with}, is called with a Class or Key.
  
- If multiple patterns were specified, this will be called multiple times.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.servlet.InstanceServletBinding"/>

-      <doc>

+ If multiple patterns were specified, this will be called multiple times.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.servlet.InstanceServletBinding"/>
+      <doc>
       <![CDATA[Visits a servlet binding created by {@link ServletModule#serve} where 
  {@link ServletKeyBindingBuilder#with}, is called with an {@link HttpServlet}.
  
- If multiple patterns were specified, this will be called multiple times.]]>

-      </doc>

-    </method>

-    <doc>

+ If multiple patterns were specified, this will be called multiple times.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A visitor for the servlet extension.
  
  If your {@link BindingTargetVisitor} implements this interface, bindings created by using
  {@link ServletModule} will be visited through this interface.
  
  @since 3.0
- @author sameb@google.com (Sam Berlin)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.servlet.ServletModuleTargetVisitor -->

-  <!-- start class com.google.inject.servlet.ServletScopes -->

-  <class name="ServletScopes" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="continueRequest" return="java.util.concurrent.Callable&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="callable" type="java.util.concurrent.Callable&lt;T&gt;"/>

-      <param name="seedMap" type="java.util.Map&lt;com.google.inject.Key&lt;?&gt;, java.lang.Object&gt;"/>

-      <doc>

+ @author sameb@google.com (Sam Berlin)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.servlet.ServletModuleTargetVisitor -->
+  <!-- start class com.google.inject.servlet.ServletScopes -->
+  <class name="ServletScopes" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="continueRequest" return="java.util.concurrent.Callable&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="callable" type="java.util.concurrent.Callable&lt;T&gt;"/>
+      <param name="seedMap" type="java.util.Map&lt;com.google.inject.Key&lt;?&gt;, java.lang.Object&gt;"/>
+      <doc>
       <![CDATA[Wraps the given callable in a contextual callable that "continues" the
  HTTP request in another thread. This acts as a way of transporting
  request context data from the request processing thread to to worker
@@ -7129,15 +7140,15 @@
  @throws OutOfScopeException if this method is called from a non-request
      thread, or if the request has completed.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="transferRequest" return="java.util.concurrent.Callable&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="callable" type="java.util.concurrent.Callable&lt;T&gt;"/>

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="transferRequest" return="java.util.concurrent.Callable&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="callable" type="java.util.concurrent.Callable&lt;T&gt;"/>
+      <doc>
       <![CDATA[Wraps the given callable in a contextual callable that "transfers" the
  request to another thread. This acts as a way of transporting
  request context data from the current thread to a future thread.
@@ -7162,29 +7173,29 @@
  @return a callable that will invoke the given callable, making the request
      context available to it.
  @throws OutOfScopeException if this method is called from a non-request
-     thread, or if the request has completed.]]>

-      </doc>

-    </method>

-    <method name="isRequestScoped" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.Binding&lt;?&gt;"/>

-      <doc>

+     thread, or if the request has completed.]]>
+      </doc>
+    </method>
+    <method name="isRequestScoped" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.Binding&lt;?&gt;"/>
+      <doc>
       <![CDATA[Returns true if {@code binding} is request-scoped. If the binding is a
  {@link com.google.inject.spi.LinkedKeyBinding linked key binding} and
  belongs to an injector (i. e. it was retrieved via
  {@link Injector#getBinding Injector.getBinding()}), then this method will
- also return true if the target binding is request-scoped.]]>

-      </doc>

-    </method>

-    <method name="scopeRequest" return="java.util.concurrent.Callable&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="callable" type="java.util.concurrent.Callable&lt;T&gt;"/>

-      <param name="seedMap" type="java.util.Map&lt;com.google.inject.Key&lt;?&gt;, java.lang.Object&gt;"/>

-      <doc>

+ also return true if the target binding is request-scoped.]]>
+      </doc>
+    </method>
+    <method name="scopeRequest" return="java.util.concurrent.Callable&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="callable" type="java.util.concurrent.Callable&lt;T&gt;"/>
+      <param name="seedMap" type="java.util.Map&lt;com.google.inject.Key&lt;?&gt;, java.lang.Object&gt;"/>
+      <doc>
       <![CDATA[Scopes the given callable inside a request scope. This is not the same
  as the HTTP request scope, but is used if no HTTP request scope is in
  progress. In this way, keys can be scoped as @RequestScoped and exist
@@ -7201,364 +7212,364 @@
      the value.
  @return a callable that when called will run inside the a request scope
      that exposes the instances in the {@code seedMap} as scoped keys.
- @since 3.0]]>

-      </doc>

-    </method>

-    <field name="REQUEST" type="com.google.inject.Scope"

-      transient="false" volatile="false"

-      static="true" final="true" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[HTTP servlet request scope.]]>

-      </doc>

-    </field>

-    <field name="SESSION" type="com.google.inject.Scope"

-      transient="false" volatile="false"

-      static="true" final="true" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[HTTP session scope.]]>

-      </doc>

-    </field>

-    <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <field name="REQUEST" type="com.google.inject.Scope"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[HTTP servlet request scope.]]>
+      </doc>
+    </field>
+    <field name="SESSION" type="com.google.inject.Scope"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[HTTP session scope.]]>
+      </doc>
+    </field>
+    <doc>
     <![CDATA[Servlet scopes.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.servlet.ServletScopes -->

-  <!-- start class com.google.inject.servlet.SessionScoped -->

-  <class name="SessionScoped"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.servlet.ServletScopes -->
+  <!-- start class com.google.inject.servlet.SessionScoped -->
+  <class name="SessionScoped"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Apply this to implementation classes when you want one instance per session.
 
  @see com.google.inject.Scopes#SINGLETON
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.servlet.SessionScoped -->

-  <!-- start class com.google.inject.servlet.UriPatternType -->

-  <class name="UriPatternType" extends="java.lang.Enum&lt;com.google.inject.servlet.UriPatternType&gt;"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="values" return="com.google.inject.servlet.UriPatternType[]"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="valueOf" return="com.google.inject.servlet.UriPatternType"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="name" type="java.lang.String"/>

-    </method>

-    <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.servlet.SessionScoped -->
+  <!-- start class com.google.inject.servlet.UriPatternType -->
+  <class name="UriPatternType" extends="java.lang.Enum&lt;com.google.inject.servlet.UriPatternType&gt;"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="values" return="com.google.inject.servlet.UriPatternType[]"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="valueOf" return="com.google.inject.servlet.UriPatternType"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+    </method>
+    <doc>
     <![CDATA[An enumeration of the available URI-pattern matching styles
  
- @since 3.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.servlet.UriPatternType -->

-</package>

-<package name="com.google.inject.spi">

-  <!-- start interface com.google.inject.spi.BindingScopingVisitor -->

-  <interface name="BindingScopingVisitor"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="visitEagerSingleton" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 3.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.servlet.UriPatternType -->
+</package>
+<package name="com.google.inject.spi">
+  <!-- start interface com.google.inject.spi.BindingScopingVisitor -->
+  <interface name="BindingScopingVisitor"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="visitEagerSingleton" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Visit an eager singleton or single instance. This scope strategy is found on both module and
- injector bindings.]]>

-      </doc>

-    </method>

-    <method name="visitScope" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="scope" type="com.google.inject.Scope"/>

-      <doc>

-      <![CDATA[Visit a scope instance. This scope strategy is found on both module and injector bindings.]]>

-      </doc>

-    </method>

-    <method name="visitScopeAnnotation" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="scopeAnnotation" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-      <doc>

+ injector bindings.]]>
+      </doc>
+    </method>
+    <method name="visitScope" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="scope" type="com.google.inject.Scope"/>
+      <doc>
+      <![CDATA[Visit a scope instance. This scope strategy is found on both module and injector bindings.]]>
+      </doc>
+    </method>
+    <method name="visitScopeAnnotation" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="scopeAnnotation" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+      <doc>
       <![CDATA[Visit a scope annotation. This scope strategy is found only on module bindings. The instance
  that implements this scope is registered by {@link com.google.inject.Binder#bindScope(Class,
- Scope) Binder.bindScope()}.]]>

-      </doc>

-    </method>

-    <method name="visitNoScoping" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ Scope) Binder.bindScope()}.]]>
+      </doc>
+    </method>
+    <method name="visitNoScoping" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Visit an unspecified or unscoped strategy. On a module, this strategy indicates that the
  injector should use scoping annotations to find a scope. On an injector, it indicates that
  no scope is applied to the binding. An unscoped binding will behave like a scoped one when it
- is linked to a scoped binding.]]>

-      </doc>

-    </method>

-    <doc>

+ is linked to a scoped binding.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Visits each of the strategies used to scope an injection.
 
  @param <V> any type to be returned by the visit method. Use {@link Void} with
      {@code return null} if no return type is needed.
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.BindingScopingVisitor -->

-  <!-- start interface com.google.inject.spi.BindingTargetVisitor -->

-  <interface name="BindingTargetVisitor"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.InstanceBinding&lt;? extends T&gt;"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.BindingScopingVisitor -->
+  <!-- start interface com.google.inject.spi.BindingTargetVisitor -->
+  <interface name="BindingTargetVisitor"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.InstanceBinding&lt;? extends T&gt;"/>
+      <doc>
       <![CDATA[Visit a instance binding. The same instance is returned for every injection. This target is
- found in both module and injector bindings.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.ProviderInstanceBinding&lt;? extends T&gt;"/>

-      <doc>

+ found in both module and injector bindings.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.ProviderInstanceBinding&lt;? extends T&gt;"/>
+      <doc>
       <![CDATA[Visit a provider instance binding. The provider's {@code get} method is invoked to resolve
- injections. This target is found in both module and injector bindings.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.ProviderKeyBinding&lt;? extends T&gt;"/>

-      <doc>

+ injections. This target is found in both module and injector bindings.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.ProviderKeyBinding&lt;? extends T&gt;"/>
+      <doc>
       <![CDATA[Visit a provider key binding. To resolve injections, the provider key is first resolved, then
  that provider's {@code get} method is invoked. This target is found in both module and injector
- bindings.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.LinkedKeyBinding&lt;? extends T&gt;"/>

-      <doc>

+ bindings.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.LinkedKeyBinding&lt;? extends T&gt;"/>
+      <doc>
       <![CDATA[Visit a linked key binding. The other key's binding is used to resolve injections. This
- target is found in both module and injector bindings.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.ExposedBinding&lt;? extends T&gt;"/>

-      <doc>

+ target is found in both module and injector bindings.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.ExposedBinding&lt;? extends T&gt;"/>
+      <doc>
       <![CDATA[Visit a binding to a key exposed from an enclosed private environment. This target is only
- found in injector bindings.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.UntargettedBinding&lt;? extends T&gt;"/>

-      <doc>

+ found in injector bindings.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.UntargettedBinding&lt;? extends T&gt;"/>
+      <doc>
       <![CDATA[Visit an untargetted binding. This target is found only on module bindings. It indicates
- that the injector should use its implicit binding strategies to resolve injections.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.ConstructorBinding&lt;? extends T&gt;"/>

-      <doc>

+ that the injector should use its implicit binding strategies to resolve injections.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.ConstructorBinding&lt;? extends T&gt;"/>
+      <doc>
       <![CDATA[Visit a constructor binding. To resolve injections, an instance is instantiated by invoking
- {@code constructor}. This target is found only on injector bindings.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.ConvertedConstantBinding&lt;? extends T&gt;"/>

-      <doc>

+ {@code constructor}. This target is found only on injector bindings.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.ConvertedConstantBinding&lt;? extends T&gt;"/>
+      <doc>
       <![CDATA[Visit a binding created from converting a bound instance to a new type. The source binding
  has the same binding annotation but a different type. This target is found only on injector
- bindings.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.ProviderBinding&lt;? extends T&gt;"/>

-      <doc>

+ bindings.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.ProviderBinding&lt;? extends T&gt;"/>
+      <doc>
       <![CDATA[Visit a binding to a {@link com.google.inject.Provider} that delegates to the binding for the
- provided type. This target is found only on injector bindings.]]>

-      </doc>

-    </method>

-    <doc>

+ provided type. This target is found only on injector bindings.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Visits each of the strategies used to find an instance to satisfy an injection.
 
  @param <V> any type to be returned by the visit method. Use {@link Void} with
      {@code return null} if no return type is needed.
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.BindingTargetVisitor -->

-  <!-- start interface com.google.inject.spi.ConstructorBinding -->

-  <interface name="ConstructorBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.Binding&lt;T&gt;"/>

-    <implements name="com.google.inject.spi.HasDependencies"/>

-    <method name="getConstructor" return="com.google.inject.spi.InjectionPoint"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Gets the constructor this binding injects.]]>

-      </doc>

-    </method>

-    <method name="getInjectableMembers" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.BindingTargetVisitor -->
+  <!-- start interface com.google.inject.spi.ConstructorBinding -->
+  <interface name="ConstructorBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.Binding&lt;T&gt;"/>
+    <implements name="com.google.inject.spi.HasDependencies"/>
+    <method name="getConstructor" return="com.google.inject.spi.InjectionPoint"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Gets the constructor this binding injects.]]>
+      </doc>
+    </method>
+    <method name="getInjectableMembers" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns all instance method and field injection points on {@code type}.
 
  @return a possibly empty set of injection points. The set has a specified iteration order. All
       fields are returned and then all methods. Within the fields, supertype fields are returned
-      before subtype fields. Similarly, supertype methods are returned before subtype methods.]]>

-      </doc>

-    </method>

-    <method name="getMethodInterceptors" return="java.util.Map&lt;java.lang.reflect.Method, java.util.List&lt;org.aopalliance.intercept.MethodInterceptor&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+      before subtype fields. Similarly, supertype methods are returned before subtype methods.]]>
+      </doc>
+    </method>
+    <method name="getMethodInterceptors" return="java.util.Map&lt;java.lang.reflect.Method, java.util.List&lt;org.aopalliance.intercept.MethodInterceptor&gt;&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the interceptors applied to each method, in the order that they will be applied.
 
- @return a possibly empty map]]>

-      </doc>

-    </method>

-    <doc>

+ @return a possibly empty map]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A binding to the constructor of a concrete clss. To resolve injections, an instance is
  instantiated by invoking the constructor.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.ConstructorBinding -->

-  <!-- start interface com.google.inject.spi.ConvertedConstantBinding -->

-  <interface name="ConvertedConstantBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.Binding&lt;T&gt;"/>

-    <implements name="com.google.inject.spi.HasDependencies"/>

-    <method name="getValue" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the converted value.]]>

-      </doc>

-    </method>

-    <method name="getTypeConverterBinding" return="com.google.inject.spi.TypeConverterBinding"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.ConstructorBinding -->
+  <!-- start interface com.google.inject.spi.ConvertedConstantBinding -->
+  <interface name="ConvertedConstantBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.Binding&lt;T&gt;"/>
+    <implements name="com.google.inject.spi.HasDependencies"/>
+    <method name="getValue" return="T"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the converted value.]]>
+      </doc>
+    </method>
+    <method name="getTypeConverterBinding" return="com.google.inject.spi.TypeConverterBinding"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the type converter binding used to convert the constant.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="getSourceKey" return="com.google.inject.Key&lt;java.lang.String&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="getSourceKey" return="com.google.inject.Key&lt;java.lang.String&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the key for the source binding. That binding can be retrieved from an injector using
- {@link com.google.inject.Injector#getBinding(Key) Injector.getBinding(key)}.]]>

-      </doc>

-    </method>

-    <method name="getDependencies" return="java.util.Set&lt;com.google.inject.spi.Dependency&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns a singleton set containing only the converted key.]]>

-      </doc>

-    </method>

-    <doc>

+ {@link com.google.inject.Injector#getBinding(Key) Injector.getBinding(key)}.]]>
+      </doc>
+    </method>
+    <method name="getDependencies" return="java.util.Set&lt;com.google.inject.spi.Dependency&lt;?&gt;&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns a singleton set containing only the converted key.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A binding created from converting a bound instance to a new type. The source binding has the same
  binding annotation but a different type.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.ConvertedConstantBinding -->

-  <!-- start class com.google.inject.spi.DefaultBindingScopingVisitor -->

-  <class name="DefaultBindingScopingVisitor" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.BindingScopingVisitor&lt;V&gt;"/>

-    <constructor name="DefaultBindingScopingVisitor"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="visitOther" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Default visit implementation. Returns {@code null}.]]>

-      </doc>

-    </method>

-    <method name="visitEagerSingleton" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="visitScope" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="scope" type="com.google.inject.Scope"/>

-    </method>

-    <method name="visitScopeAnnotation" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="scopeAnnotation" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-    </method>

-    <method name="visitNoScoping" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.ConvertedConstantBinding -->
+  <!-- start class com.google.inject.spi.DefaultBindingScopingVisitor -->
+  <class name="DefaultBindingScopingVisitor" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.BindingScopingVisitor&lt;V&gt;"/>
+    <constructor name="DefaultBindingScopingVisitor"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="visitOther" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Default visit implementation. Returns {@code null}.]]>
+      </doc>
+    </method>
+    <method name="visitEagerSingleton" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="visitScope" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="scope" type="com.google.inject.Scope"/>
+    </method>
+    <method name="visitScopeAnnotation" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="scopeAnnotation" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+    </method>
+    <method name="visitNoScoping" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[No-op visitor for subclassing. All interface methods simply delegate to
  {@link #visitOther()}, returning its result.
 
@@ -7566,84 +7577,84 @@
      {@code return null} if no return type is needed.
  
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.DefaultBindingScopingVisitor -->

-  <!-- start class com.google.inject.spi.DefaultBindingTargetVisitor -->

-  <class name="DefaultBindingTargetVisitor" extends="java.lang.Object"

-    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.BindingTargetVisitor&lt;T, V&gt;"/>

-    <constructor name="DefaultBindingTargetVisitor"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="visitOther" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.Binding&lt;? extends T&gt;"/>

-      <doc>

-      <![CDATA[Default visit implementation. Returns {@code null}.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="instanceBinding" type="com.google.inject.spi.InstanceBinding&lt;? extends T&gt;"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="providerInstanceBinding" type="com.google.inject.spi.ProviderInstanceBinding&lt;? extends T&gt;"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="providerKeyBinding" type="com.google.inject.spi.ProviderKeyBinding&lt;? extends T&gt;"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="linkedKeyBinding" type="com.google.inject.spi.LinkedKeyBinding&lt;? extends T&gt;"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="exposedBinding" type="com.google.inject.spi.ExposedBinding&lt;? extends T&gt;"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="untargettedBinding" type="com.google.inject.spi.UntargettedBinding&lt;? extends T&gt;"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="constructorBinding" type="com.google.inject.spi.ConstructorBinding&lt;? extends T&gt;"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="convertedConstantBinding" type="com.google.inject.spi.ConvertedConstantBinding&lt;? extends T&gt;"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="providerBinding" type="com.google.inject.spi.ProviderBinding&lt;? extends T&gt;"/>

-    </method>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.DefaultBindingScopingVisitor -->
+  <!-- start class com.google.inject.spi.DefaultBindingTargetVisitor -->
+  <class name="DefaultBindingTargetVisitor" extends="java.lang.Object"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.BindingTargetVisitor&lt;T, V&gt;"/>
+    <constructor name="DefaultBindingTargetVisitor"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="visitOther" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.Binding&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[Default visit implementation. Returns {@code null}.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="instanceBinding" type="com.google.inject.spi.InstanceBinding&lt;? extends T&gt;"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="providerInstanceBinding" type="com.google.inject.spi.ProviderInstanceBinding&lt;? extends T&gt;"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="providerKeyBinding" type="com.google.inject.spi.ProviderKeyBinding&lt;? extends T&gt;"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="linkedKeyBinding" type="com.google.inject.spi.LinkedKeyBinding&lt;? extends T&gt;"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="exposedBinding" type="com.google.inject.spi.ExposedBinding&lt;? extends T&gt;"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="untargettedBinding" type="com.google.inject.spi.UntargettedBinding&lt;? extends T&gt;"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="constructorBinding" type="com.google.inject.spi.ConstructorBinding&lt;? extends T&gt;"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="convertedConstantBinding" type="com.google.inject.spi.ConvertedConstantBinding&lt;? extends T&gt;"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="providerBinding" type="com.google.inject.spi.ProviderBinding&lt;? extends T&gt;"/>
+    </method>
+    <doc>
     <![CDATA[No-op visitor for subclassing. All interface methods simply delegate to {@link
  #visitOther(Binding)}, returning its result.
 
@@ -7651,126 +7662,126 @@
      {@code return null} if no return type is needed.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.DefaultBindingTargetVisitor -->

-  <!-- start class com.google.inject.spi.DefaultElementVisitor -->

-  <class name="DefaultElementVisitor" extends="java.lang.Object"

-    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.ElementVisitor&lt;V&gt;"/>

-    <constructor name="DefaultElementVisitor"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="visitOther" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-      <param name="element" type="com.google.inject.spi.Element"/>

-      <doc>

-      <![CDATA[Default visit implementation. Returns {@code null}.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="message" type="com.google.inject.spi.Message"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.Binding&lt;T&gt;"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="interceptorBinding" type="com.google.inject.spi.InterceptorBinding"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="scopeBinding" type="com.google.inject.spi.ScopeBinding"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="typeConverterBinding" type="com.google.inject.spi.TypeConverterBinding"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="providerLookup" type="com.google.inject.spi.ProviderLookup&lt;T&gt;"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="injectionRequest" type="com.google.inject.spi.InjectionRequest&lt;?&gt;"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="staticInjectionRequest" type="com.google.inject.spi.StaticInjectionRequest"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="privateElements" type="com.google.inject.spi.PrivateElements"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="lookup" type="com.google.inject.spi.MembersInjectorLookup&lt;T&gt;"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.TypeListenerBinding"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.ProvisionListenerBinding"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="option" type="com.google.inject.spi.DisableCircularProxiesOption"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="option" type="com.google.inject.spi.RequireExplicitBindingsOption"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="option" type="com.google.inject.spi.RequireAtInjectOnConstructorsOption"/>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="option" type="com.google.inject.spi.RequireExactBindingAnnotationsOption"/>

-    </method>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.DefaultBindingTargetVisitor -->
+  <!-- start class com.google.inject.spi.DefaultElementVisitor -->
+  <class name="DefaultElementVisitor" extends="java.lang.Object"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.ElementVisitor&lt;V&gt;"/>
+    <constructor name="DefaultElementVisitor"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="visitOther" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="element" type="com.google.inject.spi.Element"/>
+      <doc>
+      <![CDATA[Default visit implementation. Returns {@code null}.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="message" type="com.google.inject.spi.Message"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.Binding&lt;T&gt;"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="interceptorBinding" type="com.google.inject.spi.InterceptorBinding"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="scopeBinding" type="com.google.inject.spi.ScopeBinding"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="typeConverterBinding" type="com.google.inject.spi.TypeConverterBinding"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="providerLookup" type="com.google.inject.spi.ProviderLookup&lt;T&gt;"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="injectionRequest" type="com.google.inject.spi.InjectionRequest&lt;?&gt;"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="staticInjectionRequest" type="com.google.inject.spi.StaticInjectionRequest"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="privateElements" type="com.google.inject.spi.PrivateElements"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="lookup" type="com.google.inject.spi.MembersInjectorLookup&lt;T&gt;"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.TypeListenerBinding"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.ProvisionListenerBinding"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="option" type="com.google.inject.spi.DisableCircularProxiesOption"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="option" type="com.google.inject.spi.RequireExplicitBindingsOption"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="option" type="com.google.inject.spi.RequireAtInjectOnConstructorsOption"/>
+    </method>
+    <method name="visit" return="V"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="option" type="com.google.inject.spi.RequireExactBindingAnnotationsOption"/>
+    </method>
+    <doc>
     <![CDATA[No-op visitor for subclassing. All interface methods simply delegate to
  {@link #visitOther(Element)}, returning its result.
 
@@ -7778,86 +7789,86 @@
      {@code return null} if no return type is needed.
 
  @author sberlin@gmail.com (Sam Berlin)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.DefaultElementVisitor -->

-  <!-- start class com.google.inject.spi.Dependency -->

-  <class name="Dependency" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="get" return="com.google.inject.spi.Dependency&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.DefaultElementVisitor -->
+  <!-- start class com.google.inject.spi.Dependency -->
+  <class name="Dependency" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="get" return="com.google.inject.spi.Dependency&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns a new dependency that is not attached to an injection point. The returned dependency is
- nullable.]]>

-      </doc>

-    </method>

-    <method name="forInjectionPoints" return="java.util.Set&lt;com.google.inject.spi.Dependency&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="injectionPoints" type="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"/>

-      <doc>

-      <![CDATA[Returns the dependencies from the given injection points.]]>

-      </doc>

-    </method>

-    <method name="getKey" return="com.google.inject.Key&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the key to the binding that satisfies this dependency.]]>

-      </doc>

-    </method>

-    <method name="isNullable" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns true if null is a legal value for this dependency.]]>

-      </doc>

-    </method>

-    <method name="getInjectionPoint" return="com.google.inject.spi.InjectionPoint"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ nullable.]]>
+      </doc>
+    </method>
+    <method name="forInjectionPoints" return="java.util.Set&lt;com.google.inject.spi.Dependency&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="injectionPoints" type="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"/>
+      <doc>
+      <![CDATA[Returns the dependencies from the given injection points.]]>
+      </doc>
+    </method>
+    <method name="getKey" return="com.google.inject.Key&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the key to the binding that satisfies this dependency.]]>
+      </doc>
+    </method>
+    <method name="isNullable" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns true if null is a legal value for this dependency.]]>
+      </doc>
+    </method>
+    <method name="getInjectionPoint" return="com.google.inject.spi.InjectionPoint"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the injection point to which this dependency belongs, or null if this dependency isn't
- attached to a particular injection point.]]>

-      </doc>

-    </method>

-    <method name="getParameterIndex" return="int"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ attached to a particular injection point.]]>
+      </doc>
+    </method>
+    <method name="getParameterIndex" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the index of this dependency in the injection point's parameter list, or {@code -1} if
  this dependency does not belong to a parameter list. Only method and constuctor dependencies
- are elements in a parameter list.]]>

-      </doc>

-    </method>

-    <method name="hashCode" return="int"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="equals" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="o" type="java.lang.Object"/>

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ are elements in a parameter list.]]>
+      </doc>
+    </method>
+    <method name="hashCode" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="equals" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="o" type="java.lang.Object"/>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[A variable that can be resolved by an injector.
 
  <p>Use {@link #get} to build a freestanding dependency, or {@link InjectionPoint} to build one
@@ -7865,128 +7876,128 @@
 
  @author crazybob@google.com (Bob Lee)
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.Dependency -->

-  <!-- start class com.google.inject.spi.DependencyAndSource -->

-  <class name="DependencyAndSource" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="DependencyAndSource" type="com.google.inject.spi.Dependency&lt;?&gt;, java.lang.Object"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getDependency" return="com.google.inject.spi.Dependency&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.Dependency -->
+  <!-- start class com.google.inject.spi.DependencyAndSource -->
+  <class name="DependencyAndSource" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="DependencyAndSource" type="com.google.inject.spi.Dependency&lt;?&gt;, java.lang.Object"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getDependency" return="com.google.inject.spi.Dependency&lt;?&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the Dependency, if one exists. For anything that can be referenced
  by {@link Injector#getBinding}, a dependency exists. A dependency will not
  exist (and this will return null) for types initialized with
  {@link Binder#requestInjection} or {@link Injector#injectMembers(Object)},
  nor will it exist for objects injected into Providers bound with
- LinkedBindingBuilder#toProvider(Provider).]]>

-      </doc>

-    </method>

-    <method name="getBindingSource" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ LinkedBindingBuilder#toProvider(Provider).]]>
+      </doc>
+    </method>
+    <method name="getBindingSource" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns a string describing where this dependency was bound. If the binding
  was just-in-time, there is no valid binding source, so this describes the
- class in question.]]>

-      </doc>

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ class in question.]]>
+      </doc>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[A combination of a {@link Dependency} and the {@link Binding#getSource()
  source} where the dependency was bound.
  
- @author sameb@google.com (Sam Berlin)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.DependencyAndSource -->

-  <!-- start class com.google.inject.spi.DisableCircularProxiesOption -->

-  <class name="DisableCircularProxiesOption" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.Element"/>

-    <method name="getSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="applyTo"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-    </method>

-    <method name="acceptVisitor" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>

-    </method>

-    <doc>

+ @author sameb@google.com (Sam Berlin)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.DependencyAndSource -->
+  <!-- start class com.google.inject.spi.DisableCircularProxiesOption -->
+  <class name="DisableCircularProxiesOption" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.Element"/>
+    <method name="getSource" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="applyTo"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+    </method>
+    <method name="acceptVisitor" return="T"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>
+    </method>
+    <doc>
     <![CDATA[A request to disable circular proxies.
 
  @author sameb@google.com (Sam Berlin)
- @since 3.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.DisableCircularProxiesOption -->

-  <!-- start interface com.google.inject.spi.Element -->

-  <interface name="Element"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="getSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 3.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.DisableCircularProxiesOption -->
+  <!-- start interface com.google.inject.spi.Element -->
+  <interface name="Element"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getSource" return="java.lang.Object"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns an arbitrary object containing information about the "place" where this element was
  configured. Used by Guice in the production of descriptive error messages.
 
  <p>Tools might specially handle types they know about; {@code StackTraceElement} is a good
  example. Tools should simply call {@code toString()} on the source object if the type is
- unfamiliar.]]>

-      </doc>

-    </method>

-    <method name="acceptVisitor" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>

-      <doc>

+ unfamiliar.]]>
+      </doc>
+    </method>
+    <method name="acceptVisitor" return="T"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>
+      <doc>
       <![CDATA[Accepts an element visitor. Invokes the visitor method specific to this element's type.
 
- @param visitor to call back on]]>

-      </doc>

-    </method>

-    <method name="applyTo"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <doc>

+ @param visitor to call back on]]>
+      </doc>
+    </method>
+    <method name="applyTo"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <doc>
       <![CDATA[Writes this module element to the given binder (optional operation).
 
  @param binder to apply configuration element to
  @throws UnsupportedOperationException if the {@code applyTo} method is not supported by this
-     element.]]>

-      </doc>

-    </method>

-    <doc>

+     element.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A core component of a module or injector.
 
  <p>The elements of a module can be inspected, validated and rewritten. Use {@link
@@ -7999,115 +8010,115 @@
 
  @author jessewilson@google.com (Jesse Wilson)
  @author crazybob@google.com (Bob Lee)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.Element -->

-  <!-- start class com.google.inject.spi.Elements -->

-  <class name="Elements" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="Elements"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getElements" return="java.util.List&lt;com.google.inject.spi.Element&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="modules" type="com.google.inject.Module[]"/>

-      <doc>

-      <![CDATA[Records the elements executed by {@code modules}.]]>

-      </doc>

-    </method>

-    <method name="getElements" return="java.util.List&lt;com.google.inject.spi.Element&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="stage" type="com.google.inject.Stage"/>

-      <param name="modules" type="com.google.inject.Module[]"/>

-      <doc>

-      <![CDATA[Records the elements executed by {@code modules}.]]>

-      </doc>

-    </method>

-    <method name="getElements" return="java.util.List&lt;com.google.inject.spi.Element&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="modules" type="java.lang.Iterable&lt;? extends com.google.inject.Module&gt;"/>

-      <doc>

-      <![CDATA[Records the elements executed by {@code modules}.]]>

-      </doc>

-    </method>

-    <method name="getElements" return="java.util.List&lt;com.google.inject.spi.Element&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="stage" type="com.google.inject.Stage"/>

-      <param name="modules" type="java.lang.Iterable&lt;? extends com.google.inject.Module&gt;"/>

-      <doc>

-      <![CDATA[Records the elements executed by {@code modules}.]]>

-      </doc>

-    </method>

-    <method name="getModule" return="com.google.inject.Module"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="elements" type="java.lang.Iterable&lt;? extends com.google.inject.spi.Element&gt;"/>

-      <doc>

-      <![CDATA[Returns the module composed of {@code elements}.]]>

-      </doc>

-    </method>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.Element -->
+  <!-- start class com.google.inject.spi.Elements -->
+  <class name="Elements" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="Elements"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getElements" return="java.util.List&lt;com.google.inject.spi.Element&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="modules" type="com.google.inject.Module[]"/>
+      <doc>
+      <![CDATA[Records the elements executed by {@code modules}.]]>
+      </doc>
+    </method>
+    <method name="getElements" return="java.util.List&lt;com.google.inject.spi.Element&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="stage" type="com.google.inject.Stage"/>
+      <param name="modules" type="com.google.inject.Module[]"/>
+      <doc>
+      <![CDATA[Records the elements executed by {@code modules}.]]>
+      </doc>
+    </method>
+    <method name="getElements" return="java.util.List&lt;com.google.inject.spi.Element&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="modules" type="java.lang.Iterable&lt;? extends com.google.inject.Module&gt;"/>
+      <doc>
+      <![CDATA[Records the elements executed by {@code modules}.]]>
+      </doc>
+    </method>
+    <method name="getElements" return="java.util.List&lt;com.google.inject.spi.Element&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="stage" type="com.google.inject.Stage"/>
+      <param name="modules" type="java.lang.Iterable&lt;? extends com.google.inject.Module&gt;"/>
+      <doc>
+      <![CDATA[Records the elements executed by {@code modules}.]]>
+      </doc>
+    </method>
+    <method name="getModule" return="com.google.inject.Module"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="elements" type="java.lang.Iterable&lt;? extends com.google.inject.spi.Element&gt;"/>
+      <doc>
+      <![CDATA[Returns the module composed of {@code elements}.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Exposes elements of a module so they can be inspected, validated or {@link
  Element#applyTo(Binder) rewritten}.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.Elements -->

-  <!-- start class com.google.inject.spi.ElementSource -->

-  <class name="ElementSource" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="getOriginalElementSource" return="com.google.inject.spi.ElementSource"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.Elements -->
+  <!-- start class com.google.inject.spi.ElementSource -->
+  <class name="ElementSource" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="getOriginalElementSource" return="com.google.inject.spi.ElementSource"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the {@link ElementSource} of the element this was created or copied from. If this was
- not created or copied from another element, returns {@code null}.]]>

-      </doc>

-    </method>

-    <method name="getDeclaringSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ not created or copied from another element, returns {@code null}.]]>
+      </doc>
+    </method>
+    <method name="getDeclaringSource" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns a single location in source code that defines the element. It can be any object
  such as {@link Constructor}, {@link Method}, {@link Field}, {@link StackTraceElement}, etc. For
  example, if the element is created from a method annotated by {@literal @Provides}, the 
- declaring source of element would be the method itself.]]>

-      </doc>

-    </method>

-    <method name="getModuleClassNames" return="java.util.List&lt;java.lang.String&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ declaring source of element would be the method itself.]]>
+      </doc>
+    </method>
+    <method name="getModuleClassNames" return="java.util.List&lt;java.lang.String&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the class names of modules involved in creating this {@link Element}. The first
  element (index 0) is the class name of module that defined the element, and the last element
- is the class name of root module.]]>

-      </doc>

-    </method>

-    <method name="getModuleConfigurePositionsInStackTrace" return="java.util.List&lt;java.lang.Integer&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ is the class name of root module.]]>
+      </doc>
+    </method>
+    <method name="getModuleConfigurePositionsInStackTrace" return="java.util.List&lt;java.lang.Integer&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the position of {@link Module#configure(Binder) configure(Binder)} method call in the
  {@link #getStackTrace() stack trace} for modules that their classes returned by
  {@link #getModuleClassNames()}. For example, if the stack trace looks like the following:
@@ -8123,31 +8134,31 @@
  1 and 3 are returned.
  <p>
  In the cases where stack trace is not available (i.e., the stack trace was not collected),
- it returns -1 for all module positions.]]>

-      </doc>

-    </method>

-    <method name="getStackTrace" return="java.lang.StackTraceElement[]"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ it returns -1 for all module positions.]]>
+      </doc>
+    </method>
+    <method name="getStackTrace" return="java.lang.StackTraceElement[]"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the sequence of method calls that ends at one of {@link Binder} {@code bindXXX()} 
  methods and eventually defines the element. Note that {@link #getStackTrace()} lists {@link 
  StackTraceElement StackTraceElements} in reverse chronological order. The first element (index 
  zero) is the last method call and the last element is the first method invocation. In the cases
  where stack trace is not available (i.e.,the stack trace was not collected), it returns an 
- empty array.]]>

-      </doc>

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns {@code getDeclaringSource().toString()} value.]]>

-      </doc>

-    </method>

-    <doc>

+ empty array.]]>
+      </doc>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns {@code getDeclaringSource().toString()} value.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Contains information about where and how an {@link Element element} was bound.
  <p> 
  The {@link #getDeclaringSource() declaring source} refers to a location in source code that 
@@ -8170,399 +8181,399 @@
  <p>
  In order to support the cases where a Guice {@link Element element} is created from another
  Guice {@link Element element} (original) (e.g., by {@link Element#applyTo()}), it also
- provides a reference to the original element source ({@link #getOriginalElementSource()}).]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.ElementSource -->

-  <!-- start interface com.google.inject.spi.ElementVisitor -->

-  <interface name="ElementVisitor"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.Binding&lt;T&gt;"/>

-      <doc>

+ provides a reference to the original element source ({@link #getOriginalElementSource()}).]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.ElementSource -->
+  <!-- start interface com.google.inject.spi.ElementVisitor -->
+  <interface name="ElementVisitor"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.Binding&lt;T&gt;"/>
+      <doc>
       <![CDATA[Visit a mapping from a key (type and optional annotation) to the strategy for getting
- instances of the type.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.InterceptorBinding"/>

-      <doc>

-      <![CDATA[Visit a registration of interceptors for matching methods of matching classes.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.ScopeBinding"/>

-      <doc>

-      <![CDATA[Visit a registration of a scope annotation with the scope that implements it.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.TypeConverterBinding"/>

-      <doc>

-      <![CDATA[Visit a registration of type converters for matching target types.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="request" type="com.google.inject.spi.InjectionRequest&lt;?&gt;"/>

-      <doc>

-      <![CDATA[Visit a request to inject the instance fields and methods of an instance.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="request" type="com.google.inject.spi.StaticInjectionRequest"/>

-      <doc>

-      <![CDATA[Visit a request to inject the static fields and methods of type.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="lookup" type="com.google.inject.spi.ProviderLookup&lt;T&gt;"/>

-      <doc>

-      <![CDATA[Visit a lookup of the provider for a type.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="lookup" type="com.google.inject.spi.MembersInjectorLookup&lt;T&gt;"/>

-      <doc>

-      <![CDATA[Visit a lookup of the members injector.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="message" type="com.google.inject.spi.Message"/>

-      <doc>

-      <![CDATA[Visit an error message and the context in which it occured.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="elements" type="com.google.inject.spi.PrivateElements"/>

-      <doc>

+ instances of the type.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.InterceptorBinding"/>
+      <doc>
+      <![CDATA[Visit a registration of interceptors for matching methods of matching classes.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.ScopeBinding"/>
+      <doc>
+      <![CDATA[Visit a registration of a scope annotation with the scope that implements it.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.TypeConverterBinding"/>
+      <doc>
+      <![CDATA[Visit a registration of type converters for matching target types.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="request" type="com.google.inject.spi.InjectionRequest&lt;?&gt;"/>
+      <doc>
+      <![CDATA[Visit a request to inject the instance fields and methods of an instance.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="request" type="com.google.inject.spi.StaticInjectionRequest"/>
+      <doc>
+      <![CDATA[Visit a request to inject the static fields and methods of type.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="lookup" type="com.google.inject.spi.ProviderLookup&lt;T&gt;"/>
+      <doc>
+      <![CDATA[Visit a lookup of the provider for a type.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="lookup" type="com.google.inject.spi.MembersInjectorLookup&lt;T&gt;"/>
+      <doc>
+      <![CDATA[Visit a lookup of the members injector.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="message" type="com.google.inject.spi.Message"/>
+      <doc>
+      <![CDATA[Visit an error message and the context in which it occured.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="elements" type="com.google.inject.spi.PrivateElements"/>
+      <doc>
       <![CDATA[Visit a collection of configuration elements for a {@linkplain com.google.inject.PrivateBinder
- private binder}.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.TypeListenerBinding"/>

-      <doc>

-      <![CDATA[Visit an injectable type listener binding.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binding" type="com.google.inject.spi.ProvisionListenerBinding"/>

-      <doc>

-      <![CDATA[Visit a provision listener binding.]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="option" type="com.google.inject.spi.RequireExplicitBindingsOption"/>

-      <doc>

+ private binder}.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.TypeListenerBinding"/>
+      <doc>
+      <![CDATA[Visit an injectable type listener binding.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binding" type="com.google.inject.spi.ProvisionListenerBinding"/>
+      <doc>
+      <![CDATA[Visit a provision listener binding.]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="option" type="com.google.inject.spi.RequireExplicitBindingsOption"/>
+      <doc>
       <![CDATA[Visit a require explicit bindings command.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="option" type="com.google.inject.spi.DisableCircularProxiesOption"/>

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="option" type="com.google.inject.spi.DisableCircularProxiesOption"/>
+      <doc>
       <![CDATA[Visit a disable circular proxies command.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="option" type="com.google.inject.spi.RequireAtInjectOnConstructorsOption"/>

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="option" type="com.google.inject.spi.RequireAtInjectOnConstructorsOption"/>
+      <doc>
       <![CDATA[Visit a require explicit {@literal @}{@link Inject} command.
  
- @since 4.0]]>

-      </doc>

-    </method>

-    <method name="visit" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="option" type="com.google.inject.spi.RequireExactBindingAnnotationsOption"/>

-      <doc>

+ @since 4.0]]>
+      </doc>
+    </method>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="option" type="com.google.inject.spi.RequireExactBindingAnnotationsOption"/>
+      <doc>
       <![CDATA[Visit a require exact binding annotations command.
 
- @since 4.0]]>

-      </doc>

-    </method>

-    <doc>

+ @since 4.0]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Visit elements.
 
  @param <V> any type to be returned by the visit method. Use {@link Void} with
      {@code return null} if no return type is needed.
  
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.ElementVisitor -->

-  <!-- start interface com.google.inject.spi.ExposedBinding -->

-  <interface name="ExposedBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.Binding&lt;T&gt;"/>

-    <implements name="com.google.inject.spi.HasDependencies"/>

-    <method name="getPrivateElements" return="com.google.inject.spi.PrivateElements"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the enclosed environment that holds the original binding.]]>

-      </doc>

-    </method>

-    <method name="applyTo"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <doc>

-      <![CDATA[Unsupported. Always throws {@link UnsupportedOperationException}.]]>

-      </doc>

-    </method>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.ElementVisitor -->
+  <!-- start interface com.google.inject.spi.ExposedBinding -->
+  <interface name="ExposedBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.Binding&lt;T&gt;"/>
+    <implements name="com.google.inject.spi.HasDependencies"/>
+    <method name="getPrivateElements" return="com.google.inject.spi.PrivateElements"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the enclosed environment that holds the original binding.]]>
+      </doc>
+    </method>
+    <method name="applyTo"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <doc>
+      <![CDATA[Unsupported. Always throws {@link UnsupportedOperationException}.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A binding to a key exposed from an enclosed private environment.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.ExposedBinding -->

-  <!-- start interface com.google.inject.spi.HasDependencies -->

-  <interface name="HasDependencies"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="getDependencies" return="java.util.Set&lt;com.google.inject.spi.Dependency&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.ExposedBinding -->
+  <!-- start interface com.google.inject.spi.HasDependencies -->
+  <interface name="HasDependencies"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getDependencies" return="java.util.Set&lt;com.google.inject.spi.Dependency&lt;?&gt;&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the known dependencies for this type. If this has dependencies whose values are not
  known statically, a dependency for the {@link com.google.inject.Injector Injector} will be
  included in the returned set.
  
- @return a possibly empty set]]>

-      </doc>

-    </method>

-    <doc>

+ @return a possibly empty set]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Implemented by {@link com.google.inject.Binding bindings}, {@link com.google.inject.Provider
  providers} and instances that expose their dependencies explicitly.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.HasDependencies -->

-  <!-- start interface com.google.inject.spi.InjectionListener -->

-  <interface name="InjectionListener"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="afterInjection"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="injectee" type="I"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.HasDependencies -->
+  <!-- start interface com.google.inject.spi.InjectionListener -->
+  <interface name="InjectionListener"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="afterInjection"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="injectee" type="I"/>
+      <doc>
       <![CDATA[Invoked by Guice after it injects the fields and methods of instance.
 
- @param injectee instance that Guice injected dependencies into]]>

-      </doc>

-    </method>

-    <doc>

+ @param injectee instance that Guice injected dependencies into]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Listens for injections into instances of type {@code I}. Useful for performing further
  injections, post-injection initialization, and more.
 
  @author crazybob@google.com (Bob Lee)
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.InjectionListener -->

-  <!-- start class com.google.inject.spi.InjectionPoint -->

-  <class name="InjectionPoint" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="getMember" return="java.lang.reflect.Member"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the injected constructor, field, or method.]]>

-      </doc>

-    </method>

-    <method name="getDependencies" return="java.util.List&lt;com.google.inject.spi.Dependency&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.InjectionListener -->
+  <!-- start class com.google.inject.spi.InjectionPoint -->
+  <class name="InjectionPoint" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="getMember" return="java.lang.reflect.Member"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the injected constructor, field, or method.]]>
+      </doc>
+    </method>
+    <method name="getDependencies" return="java.util.List&lt;com.google.inject.spi.Dependency&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the dependencies for this injection point. If the injection point is for a method or
  constructor, the dependencies will correspond to that member's parameters. Field injection
  points always have a single dependency for the field itself.
 
- @return a possibly-empty list]]>

-      </doc>

-    </method>

-    <method name="isOptional" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @return a possibly-empty list]]>
+      </doc>
+    </method>
+    <method name="isOptional" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns true if this injection point shall be skipped if the injector cannot resolve bindings
  for all required dependencies. Both explicit bindings (as specified in a module), and implicit
  bindings ({@literal @}{@link com.google.inject.ImplementedBy ImplementedBy}, default
- constructors etc.) may be used to satisfy optional injection points.]]>

-      </doc>

-    </method>

-    <method name="isToolable" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ constructors etc.) may be used to satisfy optional injection points.]]>
+      </doc>
+    </method>
+    <method name="isToolable" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns true if the element is annotated with {@literal @}{@link Toolable}.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="getDeclaringType" return="com.google.inject.TypeLiteral&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="getDeclaringType" return="com.google.inject.TypeLiteral&lt;?&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the generic type that defines this injection point. If the member exists on a
  parameterized type, the result will include more type information than the member's {@link
  Member#getDeclaringClass() raw declaring class}.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="equals" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="o" type="java.lang.Object"/>

-    </method>

-    <method name="hashCode" return="int"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="forConstructor" return="com.google.inject.spi.InjectionPoint"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="constructor" type="java.lang.reflect.Constructor&lt;T&gt;"/>

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="equals" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="o" type="java.lang.Object"/>
+    </method>
+    <method name="hashCode" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="forConstructor" return="com.google.inject.spi.InjectionPoint"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="constructor" type="java.lang.reflect.Constructor&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns a new injection point for the specified constructor. If the declaring type of {@code
  constructor} is parameterized (such as {@code List<T>}), prefer the overload that includes a
  type literal.
 
  @param constructor any single constructor present on {@code type}.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="forConstructor" return="com.google.inject.spi.InjectionPoint"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="constructor" type="java.lang.reflect.Constructor&lt;T&gt;"/>

-      <param name="type" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="forConstructor" return="com.google.inject.spi.InjectionPoint"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="constructor" type="java.lang.reflect.Constructor&lt;T&gt;"/>
+      <param name="type" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>
+      <doc>
       <![CDATA[Returns a new injection point for the specified constructor of {@code type}.
 
  @param constructor any single constructor present on {@code type}.
  @param type the concrete type that defines {@code constructor}.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="forConstructorOf" return="com.google.inject.spi.InjectionPoint"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="com.google.inject.TypeLiteral&lt;?&gt;"/>

-      <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="forConstructorOf" return="com.google.inject.spi.InjectionPoint"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="com.google.inject.TypeLiteral&lt;?&gt;"/>
+      <doc>
       <![CDATA[Returns a new injection point for the injectable constructor of {@code type}.
 
  @param type a concrete type with exactly one constructor annotated {@literal @}{@link Inject},
      or a no-arguments constructor that is not private.
  @throws ConfigurationException if there is no injectable constructor, more than one injectable
      constructor, or if parameters of the injectable constructor are malformed, such as a
-     parameter with multiple binding annotations.]]>

-      </doc>

-    </method>

-    <method name="forConstructorOf" return="com.google.inject.spi.InjectionPoint"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;?&gt;"/>

-      <doc>

+     parameter with multiple binding annotations.]]>
+      </doc>
+    </method>
+    <method name="forConstructorOf" return="com.google.inject.spi.InjectionPoint"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;?&gt;"/>
+      <doc>
       <![CDATA[Returns a new injection point for the injectable constructor of {@code type}.
 
  @param type a concrete type with exactly one constructor annotated {@literal @}{@link Inject},
      or a no-arguments constructor that is not private.
  @throws ConfigurationException if there is no injectable constructor, more than one injectable
      constructor, or if parameters of the injectable constructor are malformed, such as a
-     parameter with multiple binding annotations.]]>

-      </doc>

-    </method>

-    <method name="forStaticMethodsAndFields" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="com.google.inject.TypeLiteral&lt;?&gt;"/>

-      <doc>

+     parameter with multiple binding annotations.]]>
+      </doc>
+    </method>
+    <method name="forStaticMethodsAndFields" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="com.google.inject.TypeLiteral&lt;?&gt;"/>
+      <doc>
       <![CDATA[Returns all static method and field injection points on {@code type}.
 
  @return a possibly empty set of injection points. The set has a specified iteration order. All
@@ -8571,15 +8582,15 @@
  @throws ConfigurationException if there is a malformed injection point on {@code type}, such as
       a field with multiple binding annotations. The exception's {@link
       ConfigurationException#getPartialValue() partial value} is a {@code Set<InjectionPoint>}
-      of the valid injection points.]]>

-      </doc>

-    </method>

-    <method name="forStaticMethodsAndFields" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;?&gt;"/>

-      <doc>

+      of the valid injection points.]]>
+      </doc>
+    </method>
+    <method name="forStaticMethodsAndFields" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;?&gt;"/>
+      <doc>
       <![CDATA[Returns all static method and field injection points on {@code type}.
 
  @return a possibly empty set of injection points. The set has a specified iteration order. All
@@ -8588,15 +8599,15 @@
  @throws ConfigurationException if there is a malformed injection point on {@code type}, such as
       a field with multiple binding annotations. The exception's {@link
       ConfigurationException#getPartialValue() partial value} is a {@code Set<InjectionPoint>}
-      of the valid injection points.]]>

-      </doc>

-    </method>

-    <method name="forInstanceMethodsAndFields" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="com.google.inject.TypeLiteral&lt;?&gt;"/>

-      <doc>

+      of the valid injection points.]]>
+      </doc>
+    </method>
+    <method name="forInstanceMethodsAndFields" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="com.google.inject.TypeLiteral&lt;?&gt;"/>
+      <doc>
       <![CDATA[Returns all instance method and field injection points on {@code type}.
 
  @return a possibly empty set of injection points. The set has a specified iteration order. All
@@ -8605,15 +8616,15 @@
  @throws ConfigurationException if there is a malformed injection point on {@code type}, such as
       a field with multiple binding annotations. The exception's {@link
       ConfigurationException#getPartialValue() partial value} is a {@code Set<InjectionPoint>}
-      of the valid injection points.]]>

-      </doc>

-    </method>

-    <method name="forInstanceMethodsAndFields" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;?&gt;"/>

-      <doc>

+      of the valid injection points.]]>
+      </doc>
+    </method>
+    <method name="forInstanceMethodsAndFields" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;?&gt;"/>
+      <doc>
       <![CDATA[Returns all instance method and field injection points on {@code type}.
 
  @return a possibly empty set of injection points. The set has a specified iteration order. All
@@ -8622,50 +8633,50 @@
  @throws ConfigurationException if there is a malformed injection point on {@code type}, such as
       a field with multiple binding annotations. The exception's {@link
       ConfigurationException#getPartialValue() partial value} is a {@code Set<InjectionPoint>}
-      of the valid injection points.]]>

-      </doc>

-    </method>

-    <doc>

+      of the valid injection points.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A constructor, field or method that can receive injections. Typically this is a member with the
  {@literal @}{@link Inject} annotation. For non-private, no argument constructors, the member may
  omit the annotation.
 
  @author crazybob@google.com (Bob Lee)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.InjectionPoint -->

-  <!-- start class com.google.inject.spi.InjectionRequest -->

-  <class name="InjectionRequest" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.Element"/>

-    <constructor name="InjectionRequest" type="java.lang.Object, com.google.inject.TypeLiteral&lt;T&gt;, T"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getInstance" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getType" return="com.google.inject.TypeLiteral&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getInjectionPoints" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <exception name="ConfigurationException" type="com.google.inject.ConfigurationException"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.InjectionPoint -->
+  <!-- start class com.google.inject.spi.InjectionRequest -->
+  <class name="InjectionRequest" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.Element"/>
+    <constructor name="InjectionRequest" type="java.lang.Object, com.google.inject.TypeLiteral&lt;T&gt;, T"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getSource" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getInstance" return="T"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getType" return="com.google.inject.TypeLiteral&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getInjectionPoints" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <exception name="ConfigurationException" type="com.google.inject.ConfigurationException"/>
+      <doc>
       <![CDATA[Returns the instance methods and fields of {@code instance} that will be injected to fulfill
  this request.
 
@@ -8675,22 +8686,22 @@
  @throws ConfigurationException if there is a malformed injection point on the class of {@code
       instance}, such as a field with multiple binding annotations. The exception's {@link
       ConfigurationException#getPartialValue() partial value} is a {@code Set<InjectionPoint>}
-      of the valid injection points.]]>

-      </doc>

-    </method>

-    <method name="acceptVisitor" return="R"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;R&gt;"/>

-    </method>

-    <method name="applyTo"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-    </method>

-    <doc>

+      of the valid injection points.]]>
+      </doc>
+    </method>
+    <method name="acceptVisitor" return="R"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;R&gt;"/>
+    </method>
+    <method name="applyTo"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+    </method>
+    <doc>
     <![CDATA[A request to inject the instance fields and methods of an instance. Requests are created
  explicitly in a module using {@link com.google.inject.Binder#requestInjection(Object)
  requestInjection()} statements:
@@ -8698,82 +8709,82 @@
      requestInjection(serviceInstance);</pre>
 
  @author mikeward@google.com (Mike Ward)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.InjectionRequest -->

-  <!-- start interface com.google.inject.spi.InstanceBinding -->

-  <interface name="InstanceBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.Binding&lt;T&gt;"/>

-    <implements name="com.google.inject.spi.HasDependencies"/>

-    <method name="getInstance" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the user-supplied instance.]]>

-      </doc>

-    </method>

-    <method name="getInjectionPoints" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.InjectionRequest -->
+  <!-- start interface com.google.inject.spi.InstanceBinding -->
+  <interface name="InstanceBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.Binding&lt;T&gt;"/>
+    <implements name="com.google.inject.spi.HasDependencies"/>
+    <method name="getInstance" return="T"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the user-supplied instance.]]>
+      </doc>
+    </method>
+    <method name="getInjectionPoints" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the field and method injection points of the instance, injected at injector-creation
  time only.
 
- @return a possibly empty set]]>

-      </doc>

-    </method>

-    <doc>

+ @return a possibly empty set]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A binding to a single instance. The same instance is returned for every injection.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.InstanceBinding -->

-  <!-- start class com.google.inject.spi.InterceptorBinding -->

-  <class name="InterceptorBinding" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.Element"/>

-    <method name="getSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getClassMatcher" return="com.google.inject.matcher.Matcher&lt;? super java.lang.Class&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getMethodMatcher" return="com.google.inject.matcher.Matcher&lt;? super java.lang.reflect.Method&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getInterceptors" return="java.util.List&lt;org.aopalliance.intercept.MethodInterceptor&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="acceptVisitor" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>

-    </method>

-    <method name="applyTo"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-    </method>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.InstanceBinding -->
+  <!-- start class com.google.inject.spi.InterceptorBinding -->
+  <class name="InterceptorBinding" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.Element"/>
+    <method name="getSource" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getClassMatcher" return="com.google.inject.matcher.Matcher&lt;? super java.lang.Class&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getMethodMatcher" return="com.google.inject.matcher.Matcher&lt;? super java.lang.reflect.Method&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getInterceptors" return="java.util.List&lt;org.aopalliance.intercept.MethodInterceptor&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="acceptVisitor" return="T"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>
+    </method>
+    <method name="applyTo"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+    </method>
+    <doc>
     <![CDATA[Registration of interceptors for matching methods of matching classes. Instances are created
  explicitly in a module using {@link com.google.inject.Binder#bindInterceptor(
  Matcher, Matcher, MethodInterceptor[]) bindInterceptor()} statements:
@@ -8786,99 +8797,99 @@
  org.aopalliance.intercept.MethodInterceptor[]) TypeEncounter.bindInterceptor()}.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.InterceptorBinding -->

-  <!-- start interface com.google.inject.spi.LinkedKeyBinding -->

-  <interface name="LinkedKeyBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.Binding&lt;T&gt;"/>

-    <method name="getLinkedKey" return="com.google.inject.Key&lt;? extends T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.InterceptorBinding -->
+  <!-- start interface com.google.inject.spi.LinkedKeyBinding -->
+  <interface name="LinkedKeyBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.Binding&lt;T&gt;"/>
+    <method name="getLinkedKey" return="com.google.inject.Key&lt;? extends T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the linked key used to resolve injections. That binding can be retrieved from an
- injector using {@link com.google.inject.Injector#getBinding(Key) Injector.getBinding(key)}.]]>

-      </doc>

-    </method>

-    <doc>

+ injector using {@link com.google.inject.Injector#getBinding(Key) Injector.getBinding(key)}.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A binding to a linked key. The other key's binding is used to resolve injections.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.LinkedKeyBinding -->

-  <!-- start class com.google.inject.spi.MembersInjectorLookup -->

-  <class name="MembersInjectorLookup" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.Element"/>

-    <constructor name="MembersInjectorLookup" type="java.lang.Object, com.google.inject.TypeLiteral&lt;T&gt;"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getType" return="com.google.inject.TypeLiteral&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Gets the type containing the members to be injected.]]>

-      </doc>

-    </method>

-    <method name="acceptVisitor" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>

-    </method>

-    <method name="initializeDelegate"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="delegate" type="com.google.inject.MembersInjector&lt;T&gt;"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.LinkedKeyBinding -->
+  <!-- start class com.google.inject.spi.MembersInjectorLookup -->
+  <class name="MembersInjectorLookup" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.Element"/>
+    <constructor name="MembersInjectorLookup" type="java.lang.Object, com.google.inject.TypeLiteral&lt;T&gt;"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getSource" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getType" return="com.google.inject.TypeLiteral&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Gets the type containing the members to be injected.]]>
+      </doc>
+    </method>
+    <method name="acceptVisitor" return="T"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>
+    </method>
+    <method name="initializeDelegate"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="delegate" type="com.google.inject.MembersInjector&lt;T&gt;"/>
+      <doc>
       <![CDATA[Sets the actual members injector.
 
- @throws IllegalStateException if the delegate is already set]]>

-      </doc>

-    </method>

-    <method name="applyTo"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-    </method>

-    <method name="getDelegate" return="com.google.inject.MembersInjector&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @throws IllegalStateException if the delegate is already set]]>
+      </doc>
+    </method>
+    <method name="applyTo"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+    </method>
+    <method name="getDelegate" return="com.google.inject.MembersInjector&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the delegate members injector, or {@code null} if it has not yet been initialized.
  The delegate will be initialized when this element is processed, or otherwise used to create
- an injector.]]>

-      </doc>

-    </method>

-    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ an injector.]]>
+      </doc>
+    </method>
+    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the looked up members injector. The result is not valid until this lookup has been
  initialized, which usually happens when the injector is created. The members injector will
- throw an {@code IllegalStateException} if you try to use it beforehand.]]>

-      </doc>

-    </method>

-    <doc>

+ throw an {@code IllegalStateException} if you try to use it beforehand.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A lookup of the members injector for a type. Lookups are created explicitly in a module using
  {@link com.google.inject.Binder#getMembersInjector(Class) getMembersInjector()} statements:
  <pre>
@@ -8886,99 +8897,106 @@
          = getMembersInjector(PaymentService.class);</pre>
 
  @author crazybob@google.com (Bob Lee)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.MembersInjectorLookup -->

-  <!-- start class com.google.inject.spi.Message -->

-  <class name="Message" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.io.Serializable"/>

-    <implements name="com.google.inject.spi.Element"/>

-    <constructor name="Message" type="java.util.List&lt;java.lang.Object&gt;, java.lang.String, java.lang.Throwable"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[@since 2.0]]>

-      </doc>

-    </constructor>

-    <constructor name="Message" type="java.lang.Object, java.lang.String"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <constructor name="Message" type="java.lang.String"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getSource" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getSources" return="java.util.List&lt;java.lang.Object&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[@since 2.0]]>

-      </doc>

-    </method>

-    <method name="getMessage" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Gets the error message text.]]>

-      </doc>

-    </method>

-    <method name="acceptVisitor" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>

-      <doc>

-      <![CDATA[@since 2.0]]>

-      </doc>

-    </method>

-    <method name="getCause" return="java.lang.Throwable"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.MembersInjectorLookup -->
+  <!-- start class com.google.inject.spi.Message -->
+  <class name="Message" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.io.Serializable"/>
+    <implements name="com.google.inject.spi.Element"/>
+    <constructor name="Message" type="java.util.List&lt;java.lang.Object&gt;, java.lang.String, java.lang.Throwable"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@since 2.0]]>
+      </doc>
+    </constructor>
+    <constructor name="Message" type="java.lang.String, java.lang.Throwable"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@since 4.0]]>
+      </doc>
+    </constructor>
+    <constructor name="Message" type="java.lang.Object, java.lang.String"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <constructor name="Message" type="java.lang.String"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getSource" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getSources" return="java.util.List&lt;java.lang.Object&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@since 2.0]]>
+      </doc>
+    </method>
+    <method name="getMessage" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Gets the error message text.]]>
+      </doc>
+    </method>
+    <method name="acceptVisitor" return="T"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>
+      <doc>
+      <![CDATA[@since 2.0]]>
+      </doc>
+    </method>
+    <method name="getCause" return="java.lang.Throwable"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the throwable that caused this message, or {@code null} if this
  message was not caused by a throwable.
 
- @since 2.0]]>

-      </doc>

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="hashCode" return="int"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="equals" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="o" type="java.lang.Object"/>

-    </method>

-    <method name="applyTo"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <doc>

-      <![CDATA[@since 2.0]]>

-      </doc>

-    </method>

-    <doc>

+ @since 2.0]]>
+      </doc>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="hashCode" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="equals" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="o" type="java.lang.Object"/>
+    </method>
+    <method name="applyTo"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <doc>
+      <![CDATA[@since 2.0]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[An error message and the context in which it occured. Messages are usually created internally by
  Guice and its extensions. Messages can be created explicitly in a module using {@link
  com.google.inject.Binder#addError(Throwable) addError()} statements:
@@ -8989,46 +9007,46 @@
        addError(e);
      }</pre>
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.Message -->

-  <!-- start interface com.google.inject.spi.PrivateElements -->

-  <interface name="PrivateElements"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.Element"/>

-    <method name="getElements" return="java.util.List&lt;com.google.inject.spi.Element&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the configuration information in this private environment.]]>

-      </doc>

-    </method>

-    <method name="getInjector" return="com.google.inject.Injector"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.Message -->
+  <!-- start interface com.google.inject.spi.PrivateElements -->
+  <interface name="PrivateElements"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.Element"/>
+    <method name="getElements" return="java.util.List&lt;com.google.inject.spi.Element&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the configuration information in this private environment.]]>
+      </doc>
+    </method>
+    <method name="getInjector" return="com.google.inject.Injector"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the child injector that hosts these private elements, or null if the elements haven't
- been used to create an injector.]]>

-      </doc>

-    </method>

-    <method name="getExposedKeys" return="java.util.Set&lt;com.google.inject.Key&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the unique exposed keys for these private elements.]]>

-      </doc>

-    </method>

-    <method name="getExposedSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>

-      <doc>

+ been used to create an injector.]]>
+      </doc>
+    </method>
+    <method name="getExposedKeys" return="java.util.Set&lt;com.google.inject.Key&lt;?&gt;&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the unique exposed keys for these private elements.]]>
+      </doc>
+    </method>
+    <method name="getExposedSource" return="java.lang.Object"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;?&gt;"/>
+      <doc>
       <![CDATA[Returns an arbitrary object containing information about the "place" where this key was
  exposed. Used by Guice in the production of descriptive error messages.
 
@@ -9036,163 +9054,174 @@
  example. Tools should simply call {@code toString()} on the source object if the type is
  unfamiliar.
 
- @param key one of the keys exposed by this module.]]>

-      </doc>

-    </method>

-    <doc>

+ @param key one of the keys exposed by this module.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A private collection of elements that are hidden from the enclosing injector or module by
  default. See {@link com.google.inject.PrivateModule PrivateModule} for details.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.PrivateElements -->

-  <!-- start interface com.google.inject.spi.ProviderBinding -->

-  <interface name="ProviderBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.Binding&lt;T&gt;"/>

-    <method name="getProvidedKey" return="com.google.inject.Key&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.PrivateElements -->
+  <!-- start interface com.google.inject.spi.ProviderBinding -->
+  <interface name="ProviderBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.Binding&lt;T&gt;"/>
+    <method name="getProvidedKey" return="com.google.inject.Key&lt;?&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the key whose binding is used to {@link Provider#get provide instances}. That binding
  can be retrieved from an injector using {@link com.google.inject.Injector#getBinding(Key)
- Injector.getBinding(providedKey)}]]>

-      </doc>

-    </method>

-    <doc>

+ Injector.getBinding(providedKey)}]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A binding to a {@link Provider} that delegates to the binding for the provided type. This binding
  is used whenever a {@code Provider<T>} is injected (as opposed to injecting {@code T} directly).
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.ProviderBinding -->

-  <!-- start interface com.google.inject.spi.ProviderInstanceBinding -->

-  <interface name="ProviderInstanceBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.Binding&lt;T&gt;"/>

-    <implements name="com.google.inject.spi.HasDependencies"/>

-    <method name="getProviderInstance" return="com.google.inject.Provider&lt;? extends T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the user-supplied, unscoped provider.]]>

-      </doc>

-    </method>

-    <method name="getInjectionPoints" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.ProviderBinding -->
+  <!-- start interface com.google.inject.spi.ProviderInstanceBinding -->
+  <interface name="ProviderInstanceBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.Binding&lt;T&gt;"/>
+    <implements name="com.google.inject.spi.HasDependencies"/>
+    <method name="getProviderInstance" return="com.google.inject.Provider&lt;? extends T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="Use {@link #getUserSuppliedProvider} instead.">
+      <doc>
+      <![CDATA[If the user supplied a JSR330 binding, then this will wrap that one. To always return the
+ user-supplied provider, use {@link #getUserSuppliedProvider}.
+ 
+ @deprecated Use {@link #getUserSuppliedProvider} instead.]]>
+      </doc>
+    </method>
+    <method name="getUserSuppliedProvider" return="javax.inject.Provider&lt;? extends T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the user-supplied, unscoped provider.]]>
+      </doc>
+    </method>
+    <method name="getInjectionPoints" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the field and method injection points of the provider, injected at injector-creation
  time only.
 
- @return a possibly empty set]]>

-      </doc>

-    </method>

-    <doc>

+ @return a possibly empty set]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A binding to a provider instance. The provider's {@code get} method is invoked to resolve
  injections.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.ProviderInstanceBinding -->

-  <!-- start interface com.google.inject.spi.ProviderKeyBinding -->

-  <interface name="ProviderKeyBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.Binding&lt;T&gt;"/>

-    <method name="getProviderKey" return="com.google.inject.Key&lt;? extends javax.inject.Provider&lt;? extends T&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.ProviderInstanceBinding -->
+  <!-- start interface com.google.inject.spi.ProviderKeyBinding -->
+  <interface name="ProviderKeyBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.Binding&lt;T&gt;"/>
+    <method name="getProviderKey" return="com.google.inject.Key&lt;? extends javax.inject.Provider&lt;? extends T&gt;&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the key used to resolve the provider's binding. That binding can be retrieved from an
  injector using {@link com.google.inject.Injector#getBinding(Key)
- Injector.getBinding(providerKey)}]]>

-      </doc>

-    </method>

-    <doc>

+ Injector.getBinding(providerKey)}]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A binding to a provider key. To resolve injections, the provider key is first resolved, then that
  provider's {@code get} method is invoked.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.ProviderKeyBinding -->

-  <!-- start class com.google.inject.spi.ProviderLookup -->

-  <class name="ProviderLookup" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.Element"/>

-    <constructor name="ProviderLookup" type="java.lang.Object, com.google.inject.Key&lt;T&gt;"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getKey" return="com.google.inject.Key&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="acceptVisitor" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>

-    </method>

-    <method name="initializeDelegate"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="delegate" type="com.google.inject.Provider&lt;T&gt;"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.ProviderKeyBinding -->
+  <!-- start class com.google.inject.spi.ProviderLookup -->
+  <class name="ProviderLookup" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.Element"/>
+    <constructor name="ProviderLookup" type="java.lang.Object, com.google.inject.Key&lt;T&gt;"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getSource" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getKey" return="com.google.inject.Key&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="acceptVisitor" return="T"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>
+    </method>
+    <method name="initializeDelegate"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="delegate" type="com.google.inject.Provider&lt;T&gt;"/>
+      <doc>
       <![CDATA[Sets the actual provider.
 
- @throws IllegalStateException if the delegate is already set]]>

-      </doc>

-    </method>

-    <method name="applyTo"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-    </method>

-    <method name="getDelegate" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @throws IllegalStateException if the delegate is already set]]>
+      </doc>
+    </method>
+    <method name="applyTo"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+    </method>
+    <method name="getDelegate" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the delegate provider, or {@code null} if it has not yet been initialized. The delegate
- will be initialized when this element is processed, or otherwise used to create an injector.]]>

-      </doc>

-    </method>

-    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ will be initialized when this element is processed, or otherwise used to create an injector.]]>
+      </doc>
+    </method>
+    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the looked up provider. The result is not valid until this lookup has been initialized,
  which usually happens when the injector is created. The provider will throw an {@code
- IllegalStateException} if you try to use it beforehand.]]>

-      </doc>

-    </method>

-    <doc>

+ IllegalStateException} if you try to use it beforehand.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A lookup of the provider for a type. Lookups are created explicitly in a module using
  {@link com.google.inject.Binder#getProvider(Class) getProvider()} statements:
  <pre>
@@ -9200,36 +9229,36 @@
          = getProvider(PaymentService.class);</pre>
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.ProviderLookup -->

-  <!-- start interface com.google.inject.spi.ProviderWithDependencies -->

-  <interface name="ProviderWithDependencies"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.Provider&lt;T&gt;"/>

-    <implements name="com.google.inject.spi.HasDependencies"/>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.ProviderLookup -->
+  <!-- start interface com.google.inject.spi.ProviderWithDependencies -->
+  <interface name="ProviderWithDependencies"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.Provider&lt;T&gt;"/>
+    <implements name="com.google.inject.spi.HasDependencies"/>
+    <doc>
     <![CDATA[A provider with dependencies on other injected types. If a {@link Provider} has dependencies that
  aren't specified in injections, this interface should be used to expose all dependencies.
 
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.ProviderWithDependencies -->

-  <!-- start interface com.google.inject.spi.ProviderWithExtensionVisitor -->

-  <interface name="ProviderWithExtensionVisitor"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.Provider&lt;T&gt;"/>

-    <method name="acceptExtensionVisitor" return="V"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.BindingTargetVisitor&lt;B, V&gt;"/>

-      <param name="binding" type="com.google.inject.spi.ProviderInstanceBinding&lt;? extends B&gt;"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.ProviderWithDependencies -->
+  <!-- start interface com.google.inject.spi.ProviderWithExtensionVisitor -->
+  <interface name="ProviderWithExtensionVisitor"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.Provider&lt;T&gt;"/>
+    <method name="acceptExtensionVisitor" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.BindingTargetVisitor&lt;B, V&gt;"/>
+      <param name="binding" type="com.google.inject.spi.ProviderInstanceBinding&lt;? extends B&gt;"/>
+      <doc>
       <![CDATA[Instructs the extension determine if the visitor is an instance of a custom
  extension visitor, and if so, visit it using that method. If the visitor is
  not an instance of the custom extension visitor, this method <b>MUST</b>
@@ -9237,10 +9266,10 @@
  <p> 
  Due to issues with generics, the type parameters of this method do not
  relate to the type of the provider. In practice, the 'B' type will always
- be a supertype of 'T'.]]>

-      </doc>

-    </method>

-    <doc>

+ be a supertype of 'T'.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[A Provider that is part of an extension which supports a custom
  BindingTargetVisitor.
  <p> 
@@ -9263,20 +9292,82 @@
  BindingTargetVisitor.
 
  @since 3.0
- @author sameb@google.com (Sam Berlin)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.ProviderWithExtensionVisitor -->

-  <!-- start interface com.google.inject.spi.ProvisionListener -->

-  <interface name="ProvisionListener"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="onProvision"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="provision" type="com.google.inject.spi.ProvisionListener.ProvisionInvocation&lt;T&gt;"/>

-      <doc>

+ @author sameb@google.com (Sam Berlin)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.ProviderWithExtensionVisitor -->
+  <!-- start interface com.google.inject.spi.ProvidesMethodBinding -->
+  <interface name="ProvidesMethodBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.HasDependencies"/>
+    <method name="getMethod" return="java.lang.reflect.Method"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the method this binding uses.]]>
+      </doc>
+    </method>
+    <method name="getEnclosingInstance" return="java.lang.Object"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the instance of the object the method is defined in.]]>
+      </doc>
+    </method>
+    <method name="getKey" return="com.google.inject.Key&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the key of the binding.]]>
+      </doc>
+    </method>
+    <doc>
+    <![CDATA[An {@literal @}{@link Provides} binding.
+ 
+ @since 4.0
+ @author sameb@google.com (Sam Berlin)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.ProvidesMethodBinding -->
+  <!-- start interface com.google.inject.spi.ProvidesMethodTargetVisitor -->
+  <interface name="ProvidesMethodTargetVisitor"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.BindingTargetVisitor&lt;T, V&gt;"/>
+    <method name="visit" return="V"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="providesMethodBinding" type="com.google.inject.spi.ProvidesMethodBinding&lt;? extends T&gt;"/>
+      <doc>
+      <![CDATA[Visits an {@link ProvidesMethodBinding} created with an {@literal @}{@link Provides} method.]]>
+      </doc>
+    </method>
+    <doc>
+    <![CDATA[A visitor for the {@literal @}{@link Provides} bindings.
+ <p>
+ If your {@link BindingTargetVisitor} implements this interface, bindings created by using
+ {@code @Provides} will be visited through this interface.
+
+ @since 4.0
+ @author sameb@google.com (Sam Berlin)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.ProvidesMethodTargetVisitor -->
+  <!-- start interface com.google.inject.spi.ProvisionListener -->
+  <interface name="ProvisionListener"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="onProvision"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="provision" type="com.google.inject.spi.ProvisionListener.ProvisionInvocation&lt;T&gt;"/>
+      <doc>
       <![CDATA[Invoked by Guice when an object requires provisioning. Provisioning occurs
  when Guice locates and injects the dependencies for a binding. For types
  bound to a Provider, provisioning encapsulates the {@link Provider#get}
@@ -9290,234 +9381,234 @@
  <p>
  To perform the provision, call {@link ProvisionInvocation#provision()}.
  If you do not explicitly call provision, it will be automatically done after
- this method returns.  It is an error to call provision more than once.]]>

-      </doc>

-    </method>

-    <doc>

+ this method returns.  It is an error to call provision more than once.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Listens for provisioning of objects. Useful for gathering timing information
  about provisioning, post-provision initialization, and more.
  
  @author sameb@google.com (Sam Berlin)
- @since 4.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.ProvisionListener -->

-  <!-- start class com.google.inject.spi.ProvisionListener.ProvisionInvocation -->

-  <class name="ProvisionListener.ProvisionInvocation" extends="java.lang.Object"

-    abstract="true"

-    static="true" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="ProvisionListener.ProvisionInvocation"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="getBinding" return="com.google.inject.Binding&lt;T&gt;"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

+ @since 4.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.ProvisionListener -->
+  <!-- start class com.google.inject.spi.ProvisionListener.ProvisionInvocation -->
+  <class name="ProvisionListener.ProvisionInvocation" extends="java.lang.Object"
+    abstract="true"
+    static="true" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="ProvisionInvocation"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getBinding" return="com.google.inject.Binding&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
       <![CDATA[Returns the Binding this is provisioning.
  <p>
  You must not call {@link Provider#get()} on the provider returned by
- {@link Binding#getProvider}, otherwise you will get confusing error messages.]]>

-      </doc>

-    </method>

-    <method name="provision" return="T"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Performs the provision, returning the object provisioned.]]>

-      </doc>

-    </method>

-    <method name="getDependencyChain" return="java.util.List&lt;com.google.inject.spi.DependencyAndSource&gt;"

-      abstract="true" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the dependency chain that led to this object being provisioned.]]>

-      </doc>

-    </method>

-    <doc>

-    <![CDATA[Encapsulates a single act of provisioning.]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.ProvisionListener.ProvisionInvocation -->

-  <!-- start class com.google.inject.spi.ProvisionListenerBinding -->

-  <class name="ProvisionListenerBinding" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.Element"/>

-    <method name="getListeners" return="java.util.List&lt;com.google.inject.spi.ProvisionListener&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the registered listeners.]]>

-      </doc>

-    </method>

-    <method name="getBindingMatcher" return="com.google.inject.matcher.Matcher&lt;? super com.google.inject.Binding&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the binding matcher which chooses which bindings the listener should be notified of.]]>

-      </doc>

-    </method>

-    <method name="getSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="acceptVisitor" return="R"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;R&gt;"/>

-    </method>

-    <method name="applyTo"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-    </method>

-    <doc>

+ {@link Binding#getProvider}, otherwise you will get confusing error messages.]]>
+      </doc>
+    </method>
+    <method name="provision" return="T"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Performs the provision, returning the object provisioned.]]>
+      </doc>
+    </method>
+    <method name="getDependencyChain" return="java.util.List&lt;com.google.inject.spi.DependencyAndSource&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the dependency chain that led to this object being provisioned.]]>
+      </doc>
+    </method>
+    <doc>
+    <![CDATA[Encapsulates a single act of provisioning.]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.ProvisionListener.ProvisionInvocation -->
+  <!-- start class com.google.inject.spi.ProvisionListenerBinding -->
+  <class name="ProvisionListenerBinding" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.Element"/>
+    <method name="getListeners" return="java.util.List&lt;com.google.inject.spi.ProvisionListener&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the registered listeners.]]>
+      </doc>
+    </method>
+    <method name="getBindingMatcher" return="com.google.inject.matcher.Matcher&lt;? super com.google.inject.Binding&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the binding matcher which chooses which bindings the listener should be notified of.]]>
+      </doc>
+    </method>
+    <method name="getSource" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="acceptVisitor" return="R"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;R&gt;"/>
+    </method>
+    <method name="applyTo"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+    </method>
+    <doc>
     <![CDATA[Binds keys (picked using a Matcher) to a provision listener. Listeners are created explicitly in
  a module using {@link Binder#bindListener(Matcher, ProvisionListener...)} statements:
 
  @author sameb@google.com (Sam Berlin)
- @since 4.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.ProvisionListenerBinding -->

-  <!-- start class com.google.inject.spi.RequireAtInjectOnConstructorsOption -->

-  <class name="RequireAtInjectOnConstructorsOption" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.Element"/>

-    <method name="getSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="applyTo"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-    </method>

-    <method name="acceptVisitor" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>

-    </method>

-    <doc>

+ @since 4.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.ProvisionListenerBinding -->
+  <!-- start class com.google.inject.spi.RequireAtInjectOnConstructorsOption -->
+  <class name="RequireAtInjectOnConstructorsOption" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.Element"/>
+    <method name="getSource" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="applyTo"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+    </method>
+    <method name="acceptVisitor" return="T"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>
+    </method>
+    <doc>
     <![CDATA[A request to require explicit {@literal @}{@link Inject} annotations on constructors.
 
  @author sameb@google.com (Sam Berlin)
- @since 4.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.RequireAtInjectOnConstructorsOption -->

-  <!-- start class com.google.inject.spi.RequireExactBindingAnnotationsOption -->

-  <class name="RequireExactBindingAnnotationsOption" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.Element"/>

-    <method name="getSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="applyTo"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-    </method>

-    <method name="acceptVisitor" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>

-    </method>

-    <doc>

+ @since 4.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.RequireAtInjectOnConstructorsOption -->
+  <!-- start class com.google.inject.spi.RequireExactBindingAnnotationsOption -->
+  <class name="RequireExactBindingAnnotationsOption" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.Element"/>
+    <method name="getSource" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="applyTo"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+    </method>
+    <method name="acceptVisitor" return="T"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>
+    </method>
+    <doc>
     <![CDATA[A request to require exact binding annotations.
 
  @author sameb@google.com (Sam Berlin)
- @since 4.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.RequireExactBindingAnnotationsOption -->

-  <!-- start class com.google.inject.spi.RequireExplicitBindingsOption -->

-  <class name="RequireExplicitBindingsOption" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.Element"/>

-    <method name="getSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="applyTo"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-    </method>

-    <method name="acceptVisitor" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>

-    </method>

-    <doc>

+ @since 4.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.RequireExactBindingAnnotationsOption -->
+  <!-- start class com.google.inject.spi.RequireExplicitBindingsOption -->
+  <class name="RequireExplicitBindingsOption" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.Element"/>
+    <method name="getSource" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="applyTo"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+    </method>
+    <method name="acceptVisitor" return="T"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>
+    </method>
+    <doc>
     <![CDATA[A request to require explicit bindings.
 
  @author sameb@google.com (Sam Berlin)
- @since 3.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.RequireExplicitBindingsOption -->

-  <!-- start class com.google.inject.spi.ScopeBinding -->

-  <class name="ScopeBinding" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.Element"/>

-    <method name="getSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getAnnotationType" return="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getScope" return="com.google.inject.Scope"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="acceptVisitor" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>

-    </method>

-    <method name="applyTo"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-    </method>

-    <doc>

+ @since 3.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.RequireExplicitBindingsOption -->
+  <!-- start class com.google.inject.spi.ScopeBinding -->
+  <class name="ScopeBinding" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.Element"/>
+    <method name="getSource" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getAnnotationType" return="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getScope" return="com.google.inject.Scope"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="acceptVisitor" return="T"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>
+    </method>
+    <method name="applyTo"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+    </method>
+    <doc>
     <![CDATA[Registration of a scope annotation with the scope that implements it. Instances are created
  explicitly in a module using {@link com.google.inject.Binder#bindScope(Class, Scope) bindScope()}
  statements:
@@ -9526,32 +9617,32 @@
      bindScope(RecordScoped.class, new RecordScope());</pre>
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.ScopeBinding -->

-  <!-- start class com.google.inject.spi.StaticInjectionRequest -->

-  <class name="StaticInjectionRequest" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.Element"/>

-    <method name="getSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getType" return="java.lang.Class&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getInjectionPoints" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <exception name="ConfigurationException" type="com.google.inject.ConfigurationException"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.ScopeBinding -->
+  <!-- start class com.google.inject.spi.StaticInjectionRequest -->
+  <class name="StaticInjectionRequest" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.Element"/>
+    <method name="getSource" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getType" return="java.lang.Class&lt;?&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getInjectionPoints" return="java.util.Set&lt;com.google.inject.spi.InjectionPoint&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <exception name="ConfigurationException" type="com.google.inject.ConfigurationException"/>
+      <doc>
       <![CDATA[Returns the static methods and fields of {@code type} that will be injected to fulfill this
  request.
 
@@ -9561,22 +9652,22 @@
  @throws ConfigurationException if there is a malformed injection point on {@code type}, such as
       a field with multiple binding annotations. The exception's {@link
       ConfigurationException#getPartialValue() partial value} is a {@code Set<InjectionPoint>}
-      of the valid injection points.]]>

-      </doc>

-    </method>

-    <method name="applyTo"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-    </method>

-    <method name="acceptVisitor" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>

-    </method>

-    <doc>

+      of the valid injection points.]]>
+      </doc>
+    </method>
+    <method name="applyTo"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+    </method>
+    <method name="acceptVisitor" return="T"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>
+    </method>
+    <doc>
     <![CDATA[A request to inject the static fields and methods of a type. Requests are created
  explicitly in a module using {@link com.google.inject.Binder#requestStaticInjection(Class[])
  requestStaticInjection()} statements:
@@ -9584,16 +9675,16 @@
      requestStaticInjection(MyLegacyService.class);</pre>
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.StaticInjectionRequest -->

-  <!-- start class com.google.inject.spi.Toolable -->

-  <class name="Toolable"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.StaticInjectionRequest -->
+  <!-- start class com.google.inject.spi.Toolable -->
+  <class name="Toolable"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Instructs an {@link Injector} running in {@link Stage#TOOL} that a method should be injected.
  This is typically useful for for extensions to Guice that perform additional validation in an
  injected method or field.  This only applies to objects that are already constructed when
@@ -9603,78 +9694,78 @@
  com.google.inject.Binder#requestInjection requestInjection}.
  
  @author sberlin@gmail.com (Sam Berlin)
- @since 3.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.Toolable -->

-  <!-- start interface com.google.inject.spi.TypeConverter -->

-  <interface name="TypeConverter"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="convert" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="value" type="java.lang.String"/>

-      <param name="toType" type="com.google.inject.TypeLiteral&lt;?&gt;"/>

-      <doc>

-      <![CDATA[Converts a string value. Throws an exception if a conversion error occurs.]]>

-      </doc>

-    </method>

-    <doc>

+ @since 3.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.Toolable -->
+  <!-- start interface com.google.inject.spi.TypeConverter -->
+  <interface name="TypeConverter"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="convert" return="java.lang.Object"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="value" type="java.lang.String"/>
+      <param name="toType" type="com.google.inject.TypeLiteral&lt;?&gt;"/>
+      <doc>
+      <![CDATA[Converts a string value. Throws an exception if a conversion error occurs.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Converts constant string values to a different type.
 
  @author crazybob@google.com (Bob Lee)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.TypeConverter -->

-  <!-- start class com.google.inject.spi.TypeConverterBinding -->

-  <class name="TypeConverterBinding" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.Element"/>

-    <constructor name="TypeConverterBinding" type="java.lang.Object, com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;, com.google.inject.spi.TypeConverter"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[@since 3.0]]>

-      </doc>

-    </constructor>

-    <method name="getSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getTypeMatcher" return="com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getTypeConverter" return="com.google.inject.spi.TypeConverter"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="acceptVisitor" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>

-    </method>

-    <method name="applyTo"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-    </method>

-    <method name="toString" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.TypeConverter -->
+  <!-- start class com.google.inject.spi.TypeConverterBinding -->
+  <class name="TypeConverterBinding" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.Element"/>
+    <constructor name="TypeConverterBinding" type="java.lang.Object, com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;, com.google.inject.spi.TypeConverter"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@since 3.0]]>
+      </doc>
+    </constructor>
+    <method name="getSource" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getTypeMatcher" return="com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getTypeConverter" return="com.google.inject.spi.TypeConverter"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="acceptVisitor" return="T"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>
+    </method>
+    <method name="applyTo"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[Registration of type converters for matching target types. Instances are created
  explicitly in a module using {@link com.google.inject.Binder#convertToTypes(Matcher,
  TypeConverter) convertToTypes()} statements:
@@ -9682,124 +9773,124 @@
      convertToTypes(Matchers.only(TypeLiteral.get(DateTime.class)), new DateTimeConverter());</pre>
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.TypeConverterBinding -->

-  <!-- start interface com.google.inject.spi.TypeEncounter -->

-  <interface name="TypeEncounter"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="addError"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="message" type="java.lang.String"/>

-      <param name="arguments" type="java.lang.Object[]"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.TypeConverterBinding -->
+  <!-- start interface com.google.inject.spi.TypeEncounter -->
+  <interface name="TypeEncounter"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="addError"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="message" type="java.lang.String"/>
+      <param name="arguments" type="java.lang.Object[]"/>
+      <doc>
       <![CDATA[Records an error message for type {@code I} which will be presented to the user at a later
  time. Unlike throwing an exception, this enable us to continue configuring the Injector and
  discover more errors. Uses {@link String#format(String, Object[])} to insert the arguments
- into the message.]]>

-      </doc>

-    </method>

-    <method name="addError"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="t" type="java.lang.Throwable"/>

-      <doc>

+ into the message.]]>
+      </doc>
+    </method>
+    <method name="addError"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="t" type="java.lang.Throwable"/>
+      <doc>
       <![CDATA[Records an exception for type {@code I}, the full details of which will be logged, and the
  message of which will be presented to the user at a later time. If your type listener calls
- something that you worry may fail, you should catch the exception and pass it to this method.]]>

-      </doc>

-    </method>

-    <method name="addError"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="message" type="com.google.inject.spi.Message"/>

-      <doc>

-      <![CDATA[Records an error message to be presented to the user at a later time.]]>

-      </doc>

-    </method>

-    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>

-      <doc>

+ something that you worry may fail, you should catch the exception and pass it to this method.]]>
+      </doc>
+    </method>
+    <method name="addError"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="message" type="com.google.inject.spi.Message"/>
+      <doc>
+      <![CDATA[Records an error message to be presented to the user at a later time.]]>
+      </doc>
+    </method>
+    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="key" type="com.google.inject.Key&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the provider used to obtain instances for the given injection key. The returned
  provider will not be valid until the injector has been created. The provider will throw an
- {@code IllegalStateException} if you try to use it beforehand.]]>

-      </doc>

-    </method>

-    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

+ {@code IllegalStateException} if you try to use it beforehand.]]>
+      </doc>
+    </method>
+    <method name="getProvider" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the provider used to obtain instances for the given injection type. The returned
  provider will not be valid until the injetor has been created. The provider will throw an
- {@code IllegalStateException} if you try to use it beforehand.]]>

-      </doc>

-    </method>

-    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-      <doc>

+ {@code IllegalStateException} if you try to use it beforehand.]]>
+      </doc>
+    </method>
+    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the members injector used to inject dependencies into methods and fields on instances
  of the given type {@code T}. The returned members injector will not be valid until the main
  injector has been created. The members injector will throw an {@code IllegalStateException}
  if you try to use it beforehand.
 
- @param typeLiteral type to get members injector for]]>

-      </doc>

-    </method>

-    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <doc>

+ @param typeLiteral type to get members injector for]]>
+      </doc>
+    </method>
+    <method name="getMembersInjector" return="com.google.inject.MembersInjector&lt;T&gt;"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns the members injector used to inject dependencies into methods and fields on instances
  of the given type {@code T}. The returned members injector will not be valid until the main
  injector has been created. The members injector will throw an {@code IllegalStateException}
  if you try to use it beforehand.
 
- @param type type to get members injector for]]>

-      </doc>

-    </method>

-    <method name="register"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="membersInjector" type="com.google.inject.MembersInjector&lt;? super I&gt;"/>

-      <doc>

+ @param type type to get members injector for]]>
+      </doc>
+    </method>
+    <method name="register"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="membersInjector" type="com.google.inject.MembersInjector&lt;? super I&gt;"/>
+      <doc>
       <![CDATA[Registers a members injector for type {@code I}. Guice will use the members injector after its
- performed its own injections on an instance of {@code I}.]]>

-      </doc>

-    </method>

-    <method name="register"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="listener" type="com.google.inject.spi.InjectionListener&lt;? super I&gt;"/>

-      <doc>

+ performed its own injections on an instance of {@code I}.]]>
+      </doc>
+    </method>
+    <method name="register"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="listener" type="com.google.inject.spi.InjectionListener&lt;? super I&gt;"/>
+      <doc>
       <![CDATA[Registers an injection listener for type {@code I}. Guice will notify the listener after all
- injections have been performed on an instance of {@code I}.]]>

-      </doc>

-    </method>

-    <method name="bindInterceptor"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="methodMatcher" type="com.google.inject.matcher.Matcher&lt;? super java.lang.reflect.Method&gt;"/>

-      <param name="interceptors" type="org.aopalliance.intercept.MethodInterceptor[]"/>

-      <doc>

+ injections have been performed on an instance of {@code I}.]]>
+      </doc>
+    </method>
+    <method name="bindInterceptor"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="methodMatcher" type="com.google.inject.matcher.Matcher&lt;? super java.lang.reflect.Method&gt;"/>
+      <param name="interceptors" type="org.aopalliance.intercept.MethodInterceptor[]"/>
+      <doc>
       <![CDATA[Binds method interceptor[s] to methods matched in type {@code I} and its supertypes. A
  method is eligible for interception if:
 
@@ -9811,31 +9902,31 @@
 
  @param methodMatcher matches methods the interceptor should apply to. For
      example: {@code annotatedWith(Transactional.class)}.
- @param interceptors to bind]]>

-      </doc>

-    </method>

-    <doc>

+ @param interceptors to bind]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Context of an injectable type encounter. Enables reporting errors, registering injection
  listeners and binding method interceptors for injectable type {@code I}. It is an error to use
  an encounter after the {@link TypeListener#hear(TypeLiteral, TypeEncounter) hear()} method has
  returned.
 
  @param <I> the injectable type encountered
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.TypeEncounter -->

-  <!-- start interface com.google.inject.spi.TypeListener -->

-  <interface name="TypeListener"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="hear"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="com.google.inject.TypeLiteral&lt;I&gt;"/>

-      <param name="encounter" type="com.google.inject.spi.TypeEncounter&lt;I&gt;"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.TypeEncounter -->
+  <!-- start interface com.google.inject.spi.TypeListener -->
+  <interface name="TypeListener"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="hear"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="com.google.inject.TypeLiteral&lt;I&gt;"/>
+      <param name="encounter" type="com.google.inject.spi.TypeEncounter&lt;I&gt;"/>
+      <doc>
       <![CDATA[Invoked when Guice encounters a new type eligible for constructor or members injection.
  Called during injector creation (or afterwords if Guice encounters a type at run time and
  creates a JIT binding).
@@ -9844,10 +9935,10 @@
  @param encounter context of this encounter, enables reporting errors, registering injection
      listeners and binding method interceptors for {@code type}.
 
- @param <I> the injectable type]]>

-      </doc>

-    </method>

-    <doc>

+ @param <I> the injectable type]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Listens for Guice to encounter injectable types. If a given type has its constructor injected in
  one situation but only its methods and fields injected in another, Guice will notify this
  listener once.
@@ -9857,50 +9948,50 @@
  com.google.inject.matcher.Matcher, org.aopalliance.intercept.MethodInterceptor[])
  binding method interceptors}.
  
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.TypeListener -->

-  <!-- start class com.google.inject.spi.TypeListenerBinding -->

-  <class name="TypeListenerBinding" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.spi.Element"/>

-    <method name="getListener" return="com.google.inject.spi.TypeListener"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the registered listener.]]>

-      </doc>

-    </method>

-    <method name="getTypeMatcher" return="com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Returns the type matcher which chooses which types the listener should be notified of.]]>

-      </doc>

-    </method>

-    <method name="getSource" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="acceptVisitor" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>

-    </method>

-    <method name="applyTo"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-    </method>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.TypeListener -->
+  <!-- start class com.google.inject.spi.TypeListenerBinding -->
+  <class name="TypeListenerBinding" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.spi.Element"/>
+    <method name="getListener" return="com.google.inject.spi.TypeListener"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the registered listener.]]>
+      </doc>
+    </method>
+    <method name="getTypeMatcher" return="com.google.inject.matcher.Matcher&lt;? super com.google.inject.TypeLiteral&lt;?&gt;&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Returns the type matcher which chooses which types the listener should be notified of.]]>
+      </doc>
+    </method>
+    <method name="getSource" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="acceptVisitor" return="T"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="visitor" type="com.google.inject.spi.ElementVisitor&lt;T&gt;"/>
+    </method>
+    <method name="applyTo"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+    </method>
+    <doc>
     <![CDATA[Binds types (picked using a Matcher) to an type listener. Registrations are created explicitly in
  a module using {@link com.google.inject.Binder#bindListener(Matcher, TypeListener)} statements:
 
@@ -9908,38 +9999,38 @@
      register(only(new TypeLiteral&lt;PaymentService&lt;CreditCard>>() {}), listener);</pre>
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spi.TypeListenerBinding -->

-  <!-- start interface com.google.inject.spi.UntargettedBinding -->

-  <interface name="UntargettedBinding"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="com.google.inject.Binding&lt;T&gt;"/>

-    <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spi.TypeListenerBinding -->
+  <!-- start interface com.google.inject.spi.UntargettedBinding -->
+  <interface name="UntargettedBinding"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="com.google.inject.Binding&lt;T&gt;"/>
+    <doc>
     <![CDATA[An untargetted binding. This binding indicates that the injector should use its implicit binding
  strategies to resolve injections.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.spi.UntargettedBinding -->

-</package>

-<package name="com.google.inject.spring">

-  <!-- start class com.google.inject.spring.SpringIntegration -->

-  <class name="SpringIntegration" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="fromSpring" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="type" type="java.lang.Class&lt;T&gt;"/>

-      <param name="name" type="java.lang.String"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.spi.UntargettedBinding -->
+</package>
+<package name="com.google.inject.spring">
+  <!-- start class com.google.inject.spring.SpringIntegration -->
+  <class name="SpringIntegration" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="fromSpring" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="type" type="java.lang.Class&lt;T&gt;"/>
+      <param name="name" type="java.lang.String"/>
+      <doc>
       <![CDATA[Creates a provider which looks up objects from Spring using the given name.
  Expects a binding to {@link
  org.springframework.beans.factory.BeanFactory}. Example usage:
@@ -9947,155 +10038,155 @@
  <pre>
  bind(DataSource.class)
    .toProvider(fromSpring(DataSource.class, "dataSource"));
- </pre>]]>

-      </doc>

-    </method>

-    <method name="bindAll"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-      <param name="beanFactory" type="ListableBeanFactory"/>

-      <doc>

+ </pre>]]>
+      </doc>
+    </method>
+    <method name="bindAll"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+      <param name="beanFactory" type="ListableBeanFactory"/>
+      <doc>
       <![CDATA[Binds all Spring beans from the given factory by name. For a Spring bean
  named "foo", this method creates a binding to the bean's type and
  {@code @Named("foo")}.
 
  @see com.google.inject.name.Named
- @see com.google.inject.name.Names#named(String)]]>

-      </doc>

-    </method>

-    <doc>

+ @see com.google.inject.name.Names#named(String)]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Integrates Guice with Spring.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.spring.SpringIntegration -->

-</package>

-<package name="com.google.inject.struts2">

-  <!-- start class com.google.inject.struts2.GuiceObjectFactory -->

-  <class name="GuiceObjectFactory" extends="ObjectFactory"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="Use {@link com.google.inject.servlet.Struts2Factory} instead.">

-    <constructor name="GuiceObjectFactory"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="isNoArgConstructorRequired" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getClassInstance" return="java.lang.Class"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="name" type="java.lang.String"/>

-      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>

-    </method>

-    <method name="buildBean" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="clazz" type="java.lang.Class"/>

-      <param name="extraContext" type="java.util.Map"/>

-    </method>

-    <method name="buildInterceptor" return="Interceptor"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="interceptorConfig" type="InterceptorConfig"/>

-      <param name="interceptorRefParams" type="java.util.Map"/>

-      <exception name="ConfigurationException" type="ConfigurationException"/>

-    </method>

-    <doc>

-    <![CDATA[@deprecated Use {@link com.google.inject.servlet.Struts2Factory} instead.]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.struts2.GuiceObjectFactory -->

-  <!-- start class com.google.inject.struts2.Struts2Factory -->

-  <class name="Struts2Factory" extends="ObjectFactory"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="Struts2Factory"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="isNoArgConstructorRequired" return="boolean"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </method>

-    <method name="getClassInstance" return="java.lang.Class&lt;?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="name" type="java.lang.String"/>

-      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>

-    </method>

-    <method name="buildBean" return="java.lang.Object"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="clazz" type="java.lang.Class"/>

-      <param name="extraContext" type="java.util.Map&lt;java.lang.String, java.lang.Object&gt;"/>

-    </method>

-    <method name="buildInterceptor" return="Interceptor"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="interceptorConfig" type="InterceptorConfig"/>

-      <param name="interceptorRefParams" type="java.util.Map"/>

-      <exception name="ConfigurationException" type="ConfigurationException"/>

-    </method>

-    <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.spring.SpringIntegration -->
+</package>
+<package name="com.google.inject.struts2">
+  <!-- start class com.google.inject.struts2.GuiceObjectFactory -->
+  <class name="GuiceObjectFactory" extends="ObjectFactory"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="Use {@link com.google.inject.servlet.Struts2Factory} instead.">
+    <constructor name="GuiceObjectFactory"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="isNoArgConstructorRequired" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getClassInstance" return="java.lang.Class"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
+    </method>
+    <method name="buildBean" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="clazz" type="java.lang.Class"/>
+      <param name="extraContext" type="java.util.Map"/>
+    </method>
+    <method name="buildInterceptor" return="Interceptor"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="interceptorConfig" type="InterceptorConfig"/>
+      <param name="interceptorRefParams" type="java.util.Map"/>
+      <exception name="ConfigurationException" type="ConfigurationException"/>
+    </method>
+    <doc>
+    <![CDATA[@deprecated Use {@link com.google.inject.servlet.Struts2Factory} instead.]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.struts2.GuiceObjectFactory -->
+  <!-- start class com.google.inject.struts2.Struts2Factory -->
+  <class name="Struts2Factory" extends="ObjectFactory"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="Struts2Factory"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="isNoArgConstructorRequired" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getClassInstance" return="java.lang.Class&lt;?&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
+    </method>
+    <method name="buildBean" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="clazz" type="java.lang.Class"/>
+      <param name="extraContext" type="java.util.Map&lt;java.lang.String, java.lang.Object&gt;"/>
+    </method>
+    <method name="buildInterceptor" return="Interceptor"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="interceptorConfig" type="InterceptorConfig"/>
+      <param name="interceptorRefParams" type="java.util.Map"/>
+      <exception name="ConfigurationException" type="ConfigurationException"/>
+    </method>
+    <doc>
     <![CDATA[Cleanup up version from Bob's GuiceObjectFactory. Now works properly with
  GS2 and fixes several bugs.
 
  @author dhanji@gmail.com
- @author benmccann.com]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.struts2.Struts2Factory -->

-  <!-- start class com.google.inject.struts2.Struts2GuicePluginModule -->

-  <class name="Struts2GuicePluginModule" extends="com.google.inject.AbstractModule"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="Struts2GuicePluginModule"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="configure"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="protected"

-      deprecated="not deprecated">

-    </method>

-    <doc>

+ @author benmccann.com]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.struts2.Struts2Factory -->
+  <!-- start class com.google.inject.struts2.Struts2GuicePluginModule -->
+  <class name="Struts2GuicePluginModule" extends="com.google.inject.AbstractModule"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="Struts2GuicePluginModule"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="configure"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </method>
+    <doc>
     <![CDATA[Initializes the Struts 2 Guice Plugin.
  Must be added to the injector returned by
      {@link GuiceServletContextListener.getInjector()}.
 
- @author benmccann.com]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.struts2.Struts2GuicePluginModule -->

-</package>

-<package name="com.google.inject.throwingproviders">

-  <!-- start interface com.google.inject.throwingproviders.CheckedProvider -->

-  <interface name="CheckedProvider"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="get" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <exception name="Exception" type="java.lang.Exception"/>

-    </method>

-    <doc>

+ @author benmccann.com]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.struts2.Struts2GuicePluginModule -->
+</package>
+<package name="com.google.inject.throwingproviders">
+  <!-- start interface com.google.inject.throwingproviders.CheckedProvider -->
+  <interface name="CheckedProvider"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="get" return="T"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <exception name="Exception" type="java.lang.Exception"/>
+    </method>
+    <doc>
     <![CDATA[Alternative to the Guice {@link com.google.inject.Provider} that throws
  a checked Exception. Users may not inject {@code T} directly.
 
@@ -10111,16 +10202,16 @@
  or exception thrown by {@link #get} will be scoped. As a consequence, {@link #get}
  will invoked at most once within each scope.
  
- @since 3.0]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.throwingproviders.CheckedProvider -->

-  <!-- start class com.google.inject.throwingproviders.CheckedProvides -->

-  <class name="CheckedProvides"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @since 3.0]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.throwingproviders.CheckedProvider -->
+  <!-- start class com.google.inject.throwingproviders.CheckedProvides -->
+  <class name="CheckedProvides"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[Annotates methods of a {@link Module} to create a {@link CheckedProvider}
  method binding that can throw exceptions. The method's return type is bound
  to a {@link CheckedProvider} that can be injected. Guice will pass
@@ -10130,16 +10221,16 @@
  module where the methods are declared.
  
  @author sameb@google.com (Sam Berlin)
- @since 3.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.throwingproviders.CheckedProvides -->

-  <!-- start class com.google.inject.throwingproviders.ThrowingInject -->

-  <class name="ThrowingInject"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <implements name="java.lang.annotation.Annotation"/>

-    <doc>

+ @since 3.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.throwingproviders.CheckedProvides -->
+  <!-- start class com.google.inject.throwingproviders.ThrowingInject -->
+  <class name="ThrowingInject"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.lang.annotation.Annotation"/>
+    <doc>
     <![CDATA[A version of {@literal @}{@link Inject} designed for ThrowingProviders.  Use by:
  <pre><code>ThrowingProviderBinder.create(binder())
     .bind(RemoteProvider.class, Customer.class)
@@ -10147,22 +10238,22 @@
  </code></pre>
  where CustomerImpl has a constructor annotated with ThrowingInject.
 
- @author sameb@google.com (Sam Berlin)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.throwingproviders.ThrowingInject -->

-  <!-- start interface com.google.inject.throwingproviders.ThrowingProvider -->

-  <interface name="ThrowingProvider"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="use {@link CheckedProvider} instead.">

-    <implements name="com.google.inject.throwingproviders.CheckedProvider&lt;T&gt;"/>

-    <method name="get" return="T"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <exception name="Exception" type="java.lang.Exception"/>

-    </method>

-    <doc>

+ @author sameb@google.com (Sam Berlin)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.throwingproviders.ThrowingInject -->
+  <!-- start interface com.google.inject.throwingproviders.ThrowingProvider -->
+  <interface name="ThrowingProvider"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="use {@link CheckedProvider} instead.">
+    <implements name="com.google.inject.throwingproviders.CheckedProvider&lt;T&gt;"/>
+    <method name="get" return="T"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <exception name="Exception" type="java.lang.Exception"/>
+    </method>
+    <doc>
     <![CDATA[Alternative to the Guice {@link com.google.inject.Provider} that throws
  a checked Exception. Users may not inject {@code T} directly.
 
@@ -10178,57 +10269,57 @@
 
  @author jmourits@google.com (Jerome Mourits)
  @author jessewilson@google.com (Jesse Wilson)
- @deprecated use {@link CheckedProvider} instead.]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.throwingproviders.ThrowingProvider -->

-  <!-- start class com.google.inject.throwingproviders.ThrowingProviderBinder -->

-  <class name="ThrowingProviderBinder" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="create" return="com.google.inject.throwingproviders.ThrowingProviderBinder"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="binder" type="com.google.inject.Binder"/>

-    </method>

-    <method name="forModule" return="com.google.inject.Module"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="module" type="com.google.inject.Module"/>

-      <doc>

+ @deprecated use {@link CheckedProvider} instead.]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.throwingproviders.ThrowingProvider -->
+  <!-- start class com.google.inject.throwingproviders.ThrowingProviderBinder -->
+  <class name="ThrowingProviderBinder" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="create" return="com.google.inject.throwingproviders.ThrowingProviderBinder"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="binder" type="com.google.inject.Binder"/>
+    </method>
+    <method name="forModule" return="com.google.inject.Module"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="module" type="com.google.inject.Module"/>
+      <doc>
       <![CDATA[Returns a module that installs {@literal @}{@link CheckedProvides} methods.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <method name="bind" return="com.google.inject.throwingproviders.ThrowingProviderBinder.SecondaryBinder&lt;P, ?&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="Use {@link #bind(Class, Class)} or {@link #bind(Class, TypeLiteral)} instead.">

-      <param name="interfaceType" type="java.lang.Class&lt;P&gt;"/>

-      <param name="clazz" type="java.lang.reflect.Type"/>

-      <doc>

-      <![CDATA[@deprecated Use {@link #bind(Class, Class)} or {@link #bind(Class, TypeLiteral)} instead.]]>

-      </doc>

-    </method>

-    <method name="bind" return="com.google.inject.throwingproviders.ThrowingProviderBinder.SecondaryBinder&lt;P, T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="interfaceType" type="java.lang.Class&lt;P&gt;"/>

-      <param name="clazz" type="java.lang.Class&lt;T&gt;"/>

-    </method>

-    <method name="bind" return="com.google.inject.throwingproviders.ThrowingProviderBinder.SecondaryBinder&lt;P, T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="interfaceType" type="java.lang.Class&lt;P&gt;"/>

-      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>

-    </method>

-    <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <method name="bind" return="com.google.inject.throwingproviders.ThrowingProviderBinder.SecondaryBinder&lt;P, ?&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="Use {@link #bind(Class, Class)} or {@link #bind(Class, TypeLiteral)} instead.">
+      <param name="interfaceType" type="java.lang.Class&lt;P&gt;"/>
+      <param name="clazz" type="java.lang.reflect.Type"/>
+      <doc>
+      <![CDATA[@deprecated Use {@link #bind(Class, Class)} or {@link #bind(Class, TypeLiteral)} instead.]]>
+      </doc>
+    </method>
+    <method name="bind" return="com.google.inject.throwingproviders.ThrowingProviderBinder.SecondaryBinder&lt;P, T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="interfaceType" type="java.lang.Class&lt;P&gt;"/>
+      <param name="clazz" type="java.lang.Class&lt;T&gt;"/>
+    </method>
+    <method name="bind" return="com.google.inject.throwingproviders.ThrowingProviderBinder.SecondaryBinder&lt;P, T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="interfaceType" type="java.lang.Class&lt;P&gt;"/>
+      <param name="typeLiteral" type="com.google.inject.TypeLiteral&lt;T&gt;"/>
+    </method>
+    <doc>
     <![CDATA[<p>Builds a binding for a {@link CheckedProvider}.
  
  <p>You can use a fluent API and custom providers:
@@ -10260,162 +10351,162 @@
  
  @author jmourits@google.com (Jerome Mourits)
  @author jessewilson@google.com (Jesse Wilson)
- @author sameb@google.com (Sam Berlin)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.throwingproviders.ThrowingProviderBinder -->

-  <!-- start class com.google.inject.throwingproviders.ThrowingProviderBinder.SecondaryBinder -->

-  <class name="ThrowingProviderBinder.SecondaryBinder" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="ThrowingProviderBinder.SecondaryBinder" type="java.lang.Class&lt;P&gt;, java.lang.reflect.Type"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="annotatedWith" return="com.google.inject.throwingproviders.ThrowingProviderBinder.SecondaryBinder&lt;P, T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>

-    </method>

-    <method name="annotatedWith" return="com.google.inject.throwingproviders.ThrowingProviderBinder.SecondaryBinder&lt;P, T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="annotation" type="java.lang.annotation.Annotation"/>

-    </method>

-    <method name="to" return="com.google.inject.binder.ScopedBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="target" type="P extends com.google.inject.throwingproviders.CheckedProvider"/>

-    </method>

-    <method name="to" return="com.google.inject.binder.ScopedBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="targetType" type="java.lang.Class&lt;? extends P&gt;"/>

-    </method>

-    <method name="providing" return="com.google.inject.binder.ScopedBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="cxtorClass" type="java.lang.Class&lt;? extends T&gt;"/>

-    </method>

-    <method name="providing" return="com.google.inject.binder.ScopedBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="cxtorLiteral" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>

-    </method>

-    <method name="to" return="com.google.inject.binder.ScopedBindingBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="targetKey" type="com.google.inject.Key&lt;? extends P&gt;"/>

-    </method>

-  </class>

-  <!-- end class com.google.inject.throwingproviders.ThrowingProviderBinder.SecondaryBinder -->

-</package>

-<package name="com.google.inject.tools.jmx">

-  <!-- start interface com.google.inject.tools.jmx.ManagedBindingMBean -->

-  <interface name="ManagedBindingMBean"    abstract="true"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="getSource" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Gets the source of this binding.]]>

-      </doc>

-    </method>

-    <method name="getProvider" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Gets the provider to which this binding is bound.]]>

-      </doc>

-    </method>

-    <method name="getKey" return="java.lang.String"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <doc>

-      <![CDATA[Gets the binding key.]]>

-      </doc>

-    </method>

-    <doc>

+ @author sameb@google.com (Sam Berlin)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.throwingproviders.ThrowingProviderBinder -->
+  <!-- start class com.google.inject.throwingproviders.ThrowingProviderBinder.SecondaryBinder -->
+  <class name="ThrowingProviderBinder.SecondaryBinder" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="SecondaryBinder" type="java.lang.Class&lt;P&gt;, java.lang.reflect.Type"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="annotatedWith" return="com.google.inject.throwingproviders.ThrowingProviderBinder.SecondaryBinder&lt;P, T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="annotationType" type="java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;"/>
+    </method>
+    <method name="annotatedWith" return="com.google.inject.throwingproviders.ThrowingProviderBinder.SecondaryBinder&lt;P, T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="annotation" type="java.lang.annotation.Annotation"/>
+    </method>
+    <method name="to" return="com.google.inject.binder.ScopedBindingBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="target" type="P extends com.google.inject.throwingproviders.CheckedProvider"/>
+    </method>
+    <method name="to" return="com.google.inject.binder.ScopedBindingBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="targetType" type="java.lang.Class&lt;? extends P&gt;"/>
+    </method>
+    <method name="providing" return="com.google.inject.binder.ScopedBindingBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="cxtorClass" type="java.lang.Class&lt;? extends T&gt;"/>
+    </method>
+    <method name="providing" return="com.google.inject.binder.ScopedBindingBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="cxtorLiteral" type="com.google.inject.TypeLiteral&lt;? extends T&gt;"/>
+    </method>
+    <method name="to" return="com.google.inject.binder.ScopedBindingBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="targetKey" type="com.google.inject.Key&lt;? extends P&gt;"/>
+    </method>
+  </class>
+  <!-- end class com.google.inject.throwingproviders.ThrowingProviderBinder.SecondaryBinder -->
+</package>
+<package name="com.google.inject.tools.jmx">
+  <!-- start interface com.google.inject.tools.jmx.ManagedBindingMBean -->
+  <interface name="ManagedBindingMBean"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getSource" return="java.lang.String"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Gets the source of this binding.]]>
+      </doc>
+    </method>
+    <method name="getProvider" return="java.lang.String"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Gets the provider to which this binding is bound.]]>
+      </doc>
+    </method>
+    <method name="getKey" return="java.lang.String"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Gets the binding key.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[JMX interface to bindings.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.tools.jmx.ManagedBindingMBean -->

-  <!-- start class com.google.inject.tools.jmx.Manager -->

-  <class name="Manager" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="false" visibility="public"

-    deprecated="not deprecated">

-    <constructor name="Manager"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-    </constructor>

-    <method name="manage"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="domain" type="java.lang.String"/>

-      <param name="injector" type="com.google.inject.Injector"/>

-      <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.tools.jmx.ManagedBindingMBean -->
+  <!-- start class com.google.inject.tools.jmx.Manager -->
+  <class name="Manager" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="Manager"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="manage"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="domain" type="java.lang.String"/>
+      <param name="injector" type="com.google.inject.Injector"/>
+      <doc>
       <![CDATA[Registers all the bindings of an Injector with the platform MBean server.
- Consider using the name of your root {@link Module} class as the domain.]]>

-      </doc>

-    </method>

-    <method name="manage"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="server" type="javax.management.MBeanServer"/>

-      <param name="domain" type="java.lang.String"/>

-      <param name="injector" type="com.google.inject.Injector"/>

-      <doc>

+ Consider using the name of your root {@link Module} class as the domain.]]>
+      </doc>
+    </method>
+    <method name="manage"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="server" type="javax.management.MBeanServer"/>
+      <param name="domain" type="java.lang.String"/>
+      <param name="injector" type="com.google.inject.Injector"/>
+      <doc>
       <![CDATA[Registers all the bindings of an Injector with the given MBean server.
- Consider using the name of your root {@link Module} class as the domain.]]>

-      </doc>

-    </method>

-    <method name="main"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="args" type="java.lang.String[]"/>

-      <exception name="Exception" type="java.lang.Exception"/>

-      <doc>

-      <![CDATA[Run with no arguments for usage instructions.]]>

-      </doc>

-    </method>

-    <doc>

+ Consider using the name of your root {@link Module} class as the domain.]]>
+      </doc>
+    </method>
+    <method name="main"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="args" type="java.lang.String[]"/>
+      <exception name="Exception" type="java.lang.Exception"/>
+      <doc>
+      <![CDATA[Run with no arguments for usage instructions.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Provides a JMX interface to Guice.
 
- @author crazybob@google.com (Bob Lee)]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.tools.jmx.Manager -->

-</package>

-<package name="com.google.inject.util">

-  <!-- start class com.google.inject.util.Modules -->

-  <class name="Modules" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="override" return="com.google.inject.util.Modules.OverriddenModuleBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="modules" type="com.google.inject.Module[]"/>

-      <doc>

+ @author crazybob@google.com (Bob Lee)]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.tools.jmx.Manager -->
+</package>
+<package name="com.google.inject.util">
+  <!-- start class com.google.inject.util.Modules -->
+  <class name="Modules" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="override" return="com.google.inject.util.Modules.OverriddenModuleBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="modules" type="com.google.inject.Module[]"/>
+      <doc>
       <![CDATA[Returns a builder that creates a module that overlays override modules over the given
  modules. If a key is bound in both sets of modules, only the binding from the override modules
  is kept. If a single {@link PrivateModule} is supplied or all elements are from
@@ -10429,15 +10520,15 @@
 
  <p>Prefer to write smaller modules that can be reused and tested without overrides.
 
- @param modules the modules whose bindings are open to be overridden]]>

-      </doc>

-    </method>

-    <method name="override" return="com.google.inject.util.Modules.OverriddenModuleBuilder"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="modules" type="java.lang.Iterable&lt;? extends com.google.inject.Module&gt;"/>

-      <doc>

+ @param modules the modules whose bindings are open to be overridden]]>
+      </doc>
+    </method>
+    <method name="override" return="com.google.inject.util.Modules.OverriddenModuleBuilder"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="modules" type="java.lang.Iterable&lt;? extends com.google.inject.Module&gt;"/>
+      <doc>
       <![CDATA[Returns a builder that creates a module that overlays override modules over the given
  modules. If a key is bound in both sets of modules, only the binding from the override modules
  is kept. If a single {@link PrivateModule} is supplied or all elements are from
@@ -10451,233 +10542,233 @@
 
  <p>Prefer to write smaller modules that can be reused and tested without overrides.
 
- @param modules the modules whose bindings are open to be overridden]]>

-      </doc>

-    </method>

-    <method name="combine" return="com.google.inject.Module"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="modules" type="com.google.inject.Module[]"/>

-      <doc>

-      <![CDATA[Returns a new module that installs all of {@code modules}.]]>

-      </doc>

-    </method>

-    <method name="combine" return="com.google.inject.Module"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="modules" type="java.lang.Iterable&lt;? extends com.google.inject.Module&gt;"/>

-      <doc>

-      <![CDATA[Returns a new module that installs all of {@code modules}.]]>

-      </doc>

-    </method>

-    <field name="EMPTY_MODULE" type="com.google.inject.Module"

-      transient="false" volatile="false"

-      static="true" final="true" visibility="public"

-      deprecated="not deprecated">

-    </field>

-    <doc>

+ @param modules the modules whose bindings are open to be overridden]]>
+      </doc>
+    </method>
+    <method name="combine" return="com.google.inject.Module"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="modules" type="com.google.inject.Module[]"/>
+      <doc>
+      <![CDATA[Returns a new module that installs all of {@code modules}.]]>
+      </doc>
+    </method>
+    <method name="combine" return="com.google.inject.Module"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="modules" type="java.lang.Iterable&lt;? extends com.google.inject.Module&gt;"/>
+      <doc>
+      <![CDATA[Returns a new module that installs all of {@code modules}.]]>
+      </doc>
+    </method>
+    <field name="EMPTY_MODULE" type="com.google.inject.Module"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <doc>
     <![CDATA[Static utility methods for creating and working with instances of {@link Module}.
 
  @author jessewilson@google.com (Jesse Wilson)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.util.Modules -->

-  <!-- start interface com.google.inject.util.Modules.OverriddenModuleBuilder -->

-  <interface name="Modules.OverriddenModuleBuilder"    abstract="true"

-    static="true" final="false" visibility="public"

-    deprecated="not deprecated">

-    <method name="with" return="com.google.inject.Module"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="overrides" type="com.google.inject.Module[]"/>

-      <doc>

-      <![CDATA[See the EDSL example at {@link Modules#override(Module[]) override()}.]]>

-      </doc>

-    </method>

-    <method name="with" return="com.google.inject.Module"

-      abstract="false" native="false" synchronized="false"

-      static="false" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="overrides" type="java.lang.Iterable&lt;? extends com.google.inject.Module&gt;"/>

-      <doc>

-      <![CDATA[See the EDSL example at {@link Modules#override(Module[]) override()}.]]>

-      </doc>

-    </method>

-    <doc>

-    <![CDATA[See the EDSL example at {@link Modules#override(Module[]) override()}.]]>

-    </doc>

-  </interface>

-  <!-- end interface com.google.inject.util.Modules.OverriddenModuleBuilder -->

-  <!-- start class com.google.inject.util.Providers -->

-  <class name="Providers" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="of" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="instance" type="T"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.util.Modules -->
+  <!-- start interface com.google.inject.util.Modules.OverriddenModuleBuilder -->
+  <interface name="Modules.OverriddenModuleBuilder"    abstract="true"
+    static="true" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="with" return="com.google.inject.Module"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="overrides" type="com.google.inject.Module[]"/>
+      <doc>
+      <![CDATA[See the EDSL example at {@link Modules#override(Module[]) override()}.]]>
+      </doc>
+    </method>
+    <method name="with" return="com.google.inject.Module"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="overrides" type="java.lang.Iterable&lt;? extends com.google.inject.Module&gt;"/>
+      <doc>
+      <![CDATA[See the EDSL example at {@link Modules#override(Module[]) override()}.]]>
+      </doc>
+    </method>
+    <doc>
+    <![CDATA[See the EDSL example at {@link Modules#override(Module[]) override()}.]]>
+    </doc>
+  </interface>
+  <!-- end interface com.google.inject.util.Modules.OverriddenModuleBuilder -->
+  <!-- start class com.google.inject.util.Providers -->
+  <class name="Providers" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="of" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="instance" type="T"/>
+      <doc>
       <![CDATA[Returns a provider which always provides {@code instance}.  This should not
  be necessary to use in your application, but is helpful for several types
  of unit tests.
 
  @param instance the instance that should always be provided.  This is also
      permitted to be null, to enable aggressive testing, although in real
-     life a Guice-supplied Provider will never return null.]]>

-      </doc>

-    </method>

-    <method name="guicify" return="com.google.inject.Provider&lt;T&gt;"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="provider" type="javax.inject.Provider&lt;T&gt;"/>

-      <doc>

+     life a Guice-supplied Provider will never return null.]]>
+      </doc>
+    </method>
+    <method name="guicify" return="com.google.inject.Provider&lt;T&gt;"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="provider" type="javax.inject.Provider&lt;T&gt;"/>
+      <doc>
       <![CDATA[Returns a Guice-friendly {@code com.google.inject.Provider} for the given
  JSR-330 {@code javax.inject.Provider}. The converse method is unnecessary,
  since Guice providers directly implement the JSR-330 interface.
  
- @since 3.0]]>

-      </doc>

-    </method>

-    <doc>

+ @since 3.0]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Static utility methods for creating and working with instances of
  {@link Provider}.
 
  @author Kevin Bourrillion (kevinb9n@gmail.com)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.util.Providers -->

-  <!-- start class com.google.inject.util.Types -->

-  <class name="Types" extends="java.lang.Object"

-    abstract="false"

-    static="false" final="true" visibility="public"

-    deprecated="not deprecated">

-    <method name="newParameterizedType" return="java.lang.reflect.ParameterizedType"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="rawType" type="java.lang.reflect.Type"/>

-      <param name="typeArguments" type="java.lang.reflect.Type[]"/>

-      <doc>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.util.Providers -->
+  <!-- start class com.google.inject.util.Types -->
+  <class name="Types" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="newParameterizedType" return="java.lang.reflect.ParameterizedType"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="rawType" type="java.lang.reflect.Type"/>
+      <param name="typeArguments" type="java.lang.reflect.Type[]"/>
+      <doc>
       <![CDATA[Returns a new parameterized type, applying {@code typeArguments} to
  {@code rawType}. The returned type does not have an owner type.
 
- @return a {@link java.io.Serializable serializable} parameterized type.]]>

-      </doc>

-    </method>

-    <method name="newParameterizedTypeWithOwner" return="java.lang.reflect.ParameterizedType"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="ownerType" type="java.lang.reflect.Type"/>

-      <param name="rawType" type="java.lang.reflect.Type"/>

-      <param name="typeArguments" type="java.lang.reflect.Type[]"/>

-      <doc>

+ @return a {@link java.io.Serializable serializable} parameterized type.]]>
+      </doc>
+    </method>
+    <method name="newParameterizedTypeWithOwner" return="java.lang.reflect.ParameterizedType"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="ownerType" type="java.lang.reflect.Type"/>
+      <param name="rawType" type="java.lang.reflect.Type"/>
+      <param name="typeArguments" type="java.lang.reflect.Type[]"/>
+      <doc>
       <![CDATA[Returns a new parameterized type, applying {@code typeArguments} to
  {@code rawType} and enclosed by {@code ownerType}.
 
- @return a {@link java.io.Serializable serializable} parameterized type.]]>

-      </doc>

-    </method>

-    <method name="arrayOf" return="java.lang.reflect.GenericArrayType"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="componentType" type="java.lang.reflect.Type"/>

-      <doc>

+ @return a {@link java.io.Serializable serializable} parameterized type.]]>
+      </doc>
+    </method>
+    <method name="arrayOf" return="java.lang.reflect.GenericArrayType"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="componentType" type="java.lang.reflect.Type"/>
+      <doc>
       <![CDATA[Returns an array type whose elements are all instances of
  {@code componentType}.
 
- @return a {@link java.io.Serializable serializable} generic array type.]]>

-      </doc>

-    </method>

-    <method name="subtypeOf" return="java.lang.reflect.WildcardType"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="bound" type="java.lang.reflect.Type"/>

-      <doc>

+ @return a {@link java.io.Serializable serializable} generic array type.]]>
+      </doc>
+    </method>
+    <method name="subtypeOf" return="java.lang.reflect.WildcardType"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="bound" type="java.lang.reflect.Type"/>
+      <doc>
       <![CDATA[Returns a type that represents an unknown type that extends {@code bound}.
  For example, if {@code bound} is {@code CharSequence.class}, this returns
  {@code ? extends CharSequence}. If {@code bound} is {@code Object.class},
- this returns {@code ?}, which is shorthand for {@code ? extends Object}.]]>

-      </doc>

-    </method>

-    <method name="supertypeOf" return="java.lang.reflect.WildcardType"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="bound" type="java.lang.reflect.Type"/>

-      <doc>

+ this returns {@code ?}, which is shorthand for {@code ? extends Object}.]]>
+      </doc>
+    </method>
+    <method name="supertypeOf" return="java.lang.reflect.WildcardType"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="bound" type="java.lang.reflect.Type"/>
+      <doc>
       <![CDATA[Returns a type that represents an unknown supertype of {@code bound}. For
  example, if {@code bound} is {@code String.class}, this returns {@code ?
- super String}.]]>

-      </doc>

-    </method>

-    <method name="listOf" return="java.lang.reflect.ParameterizedType"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="elementType" type="java.lang.reflect.Type"/>

-      <doc>

+ super String}.]]>
+      </doc>
+    </method>
+    <method name="listOf" return="java.lang.reflect.ParameterizedType"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="elementType" type="java.lang.reflect.Type"/>
+      <doc>
       <![CDATA[Returns a type modelling a {@link List} whose elements are of type
  {@code elementType}.
 
- @return a {@link java.io.Serializable serializable} parameterized type.]]>

-      </doc>

-    </method>

-    <method name="setOf" return="java.lang.reflect.ParameterizedType"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="elementType" type="java.lang.reflect.Type"/>

-      <doc>

+ @return a {@link java.io.Serializable serializable} parameterized type.]]>
+      </doc>
+    </method>
+    <method name="setOf" return="java.lang.reflect.ParameterizedType"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="elementType" type="java.lang.reflect.Type"/>
+      <doc>
       <![CDATA[Returns a type modelling a {@link Set} whose elements are of type
  {@code elementType}.
 
- @return a {@link java.io.Serializable serializable} parameterized type.]]>

-      </doc>

-    </method>

-    <method name="mapOf" return="java.lang.reflect.ParameterizedType"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="keyType" type="java.lang.reflect.Type"/>

-      <param name="valueType" type="java.lang.reflect.Type"/>

-      <doc>

+ @return a {@link java.io.Serializable serializable} parameterized type.]]>
+      </doc>
+    </method>
+    <method name="mapOf" return="java.lang.reflect.ParameterizedType"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="keyType" type="java.lang.reflect.Type"/>
+      <param name="valueType" type="java.lang.reflect.Type"/>
+      <doc>
       <![CDATA[Returns a type modelling a {@link Map} whose keys are of type
  {@code keyType} and whose values are of type {@code valueType}.
 
- @return a {@link java.io.Serializable serializable} parameterized type.]]>

-      </doc>

-    </method>

-    <method name="providerOf" return="java.lang.reflect.ParameterizedType"

-      abstract="false" native="false" synchronized="false"

-      static="true" final="false" visibility="public"

-      deprecated="not deprecated">

-      <param name="providedType" type="java.lang.reflect.Type"/>

-      <doc>

+ @return a {@link java.io.Serializable serializable} parameterized type.]]>
+      </doc>
+    </method>
+    <method name="providerOf" return="java.lang.reflect.ParameterizedType"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="providedType" type="java.lang.reflect.Type"/>
+      <doc>
       <![CDATA[Returns a type modelling a {@link Provider} that provides elements of type
  {@code elementType}.
 
- @return a {@link java.io.Serializable serializable} parameterized type.]]>

-      </doc>

-    </method>

-    <doc>

+ @return a {@link java.io.Serializable serializable} parameterized type.]]>
+      </doc>
+    </method>
+    <doc>
     <![CDATA[Static methods for working with types.
 
  @author crazybob@google.com (Bob Lee)
- @since 2.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.util.Types -->

-</package>

-

-</api>

+ @since 2.0]]>
+    </doc>
+  </class>
+  <!-- end class com.google.inject.util.Types -->
+</package>
+
+</api>