Support for Iterable<? extends Module>.

git-svn-id: https://google-guice.googlecode.com/svn/trunk@371 d779f126-a31b-0410-b53b-1d3aecad763e
diff --git a/src/com/google/inject/CreationException.java b/src/com/google/inject/CreationException.java
index 0be323f..819c7cf 100644
--- a/src/com/google/inject/CreationException.java
+++ b/src/com/google/inject/CreationException.java
@@ -33,12 +33,12 @@
  */
 public class CreationException extends RuntimeException {
 
-  final List<Message> errorMessages;
+  final List<? extends Message> errorMessages;
 
   /**
    * Constructs a new exception for the given errors.
    */
-  public CreationException(Collection<Message> errorMessages) {
+  public CreationException(Collection<? extends Message> errorMessages) {
     super();
 
     // Sort the messages by source. 
@@ -54,7 +54,8 @@
     return createErrorMessage(errorMessages);
   }
 
-  private static String createErrorMessage(Collection<Message> errorMessages) {
+  private static String createErrorMessage(
+      Collection<? extends Message> errorMessages) {
     Formatter fmt = new Formatter().format("Guice configuration errors:%n%n");
     int index = 1;
     for (Message errorMessage : errorMessages) {
diff --git a/src/com/google/inject/Guice.java b/src/com/google/inject/Guice.java
index fda648a..09a5364 100644
--- a/src/com/google/inject/Guice.java
+++ b/src/com/google/inject/Guice.java
@@ -65,7 +65,7 @@
    * @throws CreationException if one or more errors occur during Injector
    *     construction
    */
-  public static Injector createInjector(Iterable<Module> modules) {
+  public static Injector createInjector(Iterable<? extends Module> modules) {
     return createInjector(Stage.DEVELOPMENT, modules);
   }
 
@@ -87,7 +87,8 @@
    * @throws CreationException if one or more errors occur during Injector
    *     construction
    */
-  public static Injector createInjector(Stage stage, Iterable<Module> modules) {
+  public static Injector createInjector(Stage stage,
+      Iterable<? extends Module> modules) {
     BinderImpl binder = new BinderImpl(stage);
     for (Module module : modules) {
       binder.install(module);