Added updated 3.0 api diffs.

git-svn-id: https://google-guice.googlecode.com/svn/trunk@1443 d779f126-a31b-0410-b53b-1d3aecad763e
diff --git a/latest-api-diffs/3.0.xml b/latest-api-diffs/3.0.xml
index f227946..7d65954 100755
--- a/latest-api-diffs/3.0.xml
+++ b/latest-api-diffs/3.0.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="iso-8859-1" standalone="no"?>

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

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

-<!-- on Sun Oct 31 16:13:18 EDT 2010 -->

+<!-- on Wed Dec 08 22:26:37 EST 2010 -->

 

 <api

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

@@ -1364,6 +1364,19 @@
  @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>

+      <![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>

     <![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
@@ -1399,7 +1412,7 @@
   <!-- start class com.google.inject.InjectorBuilder -->

   <class name="InjectorBuilder" extends="java.lang.Object"

     abstract="false"

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

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

     deprecated="not deprecated">

     <constructor name="InjectorBuilder"

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

@@ -2645,12 +2658,6 @@
  <p>
  {@code TypeLiteral<List<String>> list = new TypeLiteral<List<String>>() {};}
 
- <p>This syntax cannot be used to create type literals that have wildcard
- parameters, such as {@code Class<?>} or {@code List<? extends CharSequence>}.
- Such type literals must be constructed programatically, either by {@link
- Method#getGenericReturnType extracting types from members} or by using the
- {@link Types} factory class.
-
  <p>Along with modeling generic types, this class can resolve type parameters.
  For example, to figure out what type {@code keySet()} returns on a {@code
  Map<Integer, String>}, use this code:<pre>   {@code
@@ -2818,7 +2825,7 @@
   <!-- start class com.google.inject.assistedinject.FactoryModuleBuilder -->

   <class name="FactoryModuleBuilder" extends="java.lang.Object"

     abstract="false"

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

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

     deprecated="not deprecated">

     <constructor name="FactoryModuleBuilder"

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

@@ -4904,34 +4911,7 @@
   <interface name="InstanceFilterBinding"    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 filter binding was created with.
- This will be {@link UriPatternType#REGEX} if the binding was created with
- {@link ServletModule#filterRegex(String, String...)}, and
- {@link UriPatternType#SERVLET} if it was created with
- {@link ServletModule#filter(String, String...)}.]]>

-      </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 filter.]]>

-      </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>

+    <implements name="com.google.inject.servlet.ServletModuleBinding"/>

     <method name="getFilterInstance" return="Filter"

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

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

@@ -4952,34 +4932,7 @@
   <interface name="InstanceServletBinding"    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 servlet binding was created with.
- This will be {@link UriPatternType#REGEX} if the binding was created with
- {@link ServletModule#serveRegex(String, String...)}, and 
- {@link UriPatternType#SERVLET} if it was created with
- {@link ServletModule#serve(String, String...)}.]]>

-      </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 servlet.]]>

-      </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 init params supplied when creating the binding.]]>

-      </doc>

-    </method>

+    <implements name="com.google.inject.servlet.ServletModuleBinding"/>

     <method name="getServletInstance" return="HttpServlet"

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

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

@@ -5000,34 +4953,7 @@
   <interface name="LinkedFilterBinding"    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 filter binding was created with.
- This will be {@link UriPatternType#REGEX} if the binding was created with
- {@link ServletModule#filterRegex(String, String...)}, and
- {@link UriPatternType#SERVLET} if it was created with
- {@link ServletModule#filter(String, String...)}.]]>

-      </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 filter.]]>

-      </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 init params supplied when creating the binding.]]>

-      </doc>

-    </method>

+    <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"

@@ -5048,34 +4974,7 @@
   <interface name="LinkedServletBinding"    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 servlet binding was created with.
- This will be {@link UriPatternType#REGEX} if the binding was created with
- {@link ServletModule#serveRegex(String, String...)}, and
- {@link UriPatternType#SERVLET} if it was created with
- {@link ServletModule#serve(String, String...)}.]]>

-      </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 servlet.]]>

-      </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 init params supplied when creating the binding.]]>

-      </doc>

-    </method>

+    <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"

@@ -5355,7 +5254,7 @@
       <![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 2.1]]>

+ @since 3.0]]>

       </doc>

     </method>

     <doc>

@@ -5483,6 +5382,51 @@
     </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>

+    <![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"

@@ -5577,6 +5521,9 @@
 
  @param callable code to be executed in another thread, which depends on
      the request scope.
+ @param seedMap the initial set of scoped instances for Guice to seed the
+     request scope with.  To seed a key with null, use {@code null} as
+     the value.
  @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
@@ -5601,7 +5548,8 @@
  @param callable code to be executed which depends on the request scope.
      Typically in another thread, but not necessarily so.
  @param seedMap the initial set of scoped instances for Guice to seed the
-     request scope with.
+     request scope with.  To seed a key with null, use {@code null} as
+     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]]>

@@ -5643,50 +5591,6 @@
     </doc>

   </class>

   <!-- end class com.google.inject.servlet.SessionScoped -->

-  <!-- start class com.google.inject.servlet.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"

-      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[Cleanup up version from Bob's GuiceObjectFactory. Now works properly with
- GS2 and fixes several bugs.
-
- @author dhanji@gmail.com]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.servlet.Struts2Factory -->

   <!-- start class com.google.inject.servlet.UriPatternType -->

   <class name="UriPatternType" extends="java.lang.Enum&lt;com.google.inject.servlet.UriPatternType&gt;"

     abstract="false"

@@ -5929,6 +5833,16 @@
       <![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>

+      <![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"

@@ -7590,6 +7504,13 @@
     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"

@@ -7617,6 +7538,11 @@
       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,
@@ -7958,12 +7884,130 @@
     </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>

+    <![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>

+    <![CDATA[Alternative to the Guice {@link com.google.inject.Provider} that throws
+ a checked Exception. Users may not inject {@code T} directly.
+
+ <p>This interface must be extended to use application-specific exception types.
+ Such subinterfaces may not define new methods, but may narrow the exception type.
+ <pre>
+ public interface RemoteProvider&lt;T&gt; extends CheckedProvider&lt;T&gt; { 
+   T get() throws CustomExceptionOne, CustomExceptionTwo;
+ }
+ </pre>
+
+ <p>When this type is bound using {@link ThrowingProviderBinder}, the value returned
+ 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>

+    <![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
+ dependencies to the method as parameters. Install {@literal @}CheckedProvides
+ methods by using
+ {@link ThrowingProviderBinder#forModule(com.google.inject.Module)} on the
+ 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 interface com.google.inject.throwingproviders.ThrowingProvider -->

   <interface name="ThrowingProvider"    abstract="true"

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

-    deprecated="not deprecated">

+    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"

@@ -7985,7 +8029,8 @@
  will invoked at most once within each scope.
 
  @author jmourits@google.com (Jerome Mourits)
- @author jessewilson@google.com (Jesse Wilson)]]>

+ @author jessewilson@google.com (Jesse Wilson)
+ @deprecated use {@link CheckedProvider} instead.]]>

     </doc>

   </interface>

   <!-- end interface com.google.inject.throwingproviders.ThrowingProvider -->

@@ -8000,14 +8045,13 @@
       deprecated="not deprecated">

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

     </method>

-    <method name="install"

+    <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"/>

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

       <doc>

-      <![CDATA[Installs {@literal @}{@link ThrowingProvides} methods.
+      <![CDATA[Returns a module that installs {@literal @}{@link CheckedProvides} methods.
  
  @since 3.0]]>

       </doc>

@@ -8020,7 +8064,7 @@
       <param name="valueType" type="java.lang.reflect.Type"/>

     </method>

     <doc>

-    <![CDATA[<p>Builds a binding for a {@link ThrowingProvider}.
+    <![CDATA[<p>Builds a binding for a {@link CheckedProvider}.
  
  <p>You can use a fluent API and custom providers:
  <pre><code>ThrowingProviderBinder.create(binder())
@@ -8034,7 +8078,7 @@
      ThrowingProviderBinder.install(this, binder());
    }
    
-   {@literal @}ThrowingProvides(RemoteProvider.class)
+   {@literal @}CheckedProvides(RemoteProvider.class)
    {@literal @}RequestScope
    Customer provideCustomer(FlakyCustomerCreator creator) throws RemoteException {
      return creator.getCustomerOrThrow();
@@ -8072,7 +8116,7 @@
       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.ThrowingProvider"/>

+      <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"

@@ -8088,21 +8132,6 @@
     </method>

   </class>

   <!-- end class com.google.inject.throwingproviders.ThrowingProviderBinder.SecondaryBinder -->

-  <!-- start class com.google.inject.throwingproviders.ThrowingProvides -->

-  <class name="ThrowingProvides"    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 that can throw
- exceptions. The method's return type is bound to it's returned value. Guice will pass
- dependencies to the method as parameters.
- 
- @author sameb@google.com (Sam Berlin)
- @since 3.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.throwingproviders.ThrowingProvides -->

 </package>

 <package name="com.google.inject.tools.jmx">

   <!-- start interface com.google.inject.tools.jmx.ManagedBindingMBean -->

@@ -8191,31 +8220,6 @@
   <!-- end class com.google.inject.tools.jmx.Manager -->

 </package>

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

-  <!-- start class com.google.inject.util.Jsr330 -->

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

-    abstract="false"

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

-    deprecated="not deprecated">

-    <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.]]>

-      </doc>

-    </method>

-    <doc>

-    <![CDATA[Utility methods for use with <a href="http://code.google.com/p/atinject/">JSR
- 330</a>.
-
- @author jessewilson@google.com (Jesse Wilson) 
- @since 3.0]]>

-    </doc>

-  </class>

-  <!-- end class com.google.inject.util.Jsr330 -->

   <!-- start class com.google.inject.util.Modules -->

   <class name="Modules" extends="java.lang.Object"

     abstract="false"

@@ -8343,6 +8347,17 @@
      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.]]>

+      </doc>

+    </method>

     <doc>

     <![CDATA[Static utility methods for creating and working with instances of
  {@link Provider}.