diff --git a/bikeshed/src/com/google/gwt/requestfactory/client/impl/AbstractListJsonRequestObject.java b/bikeshed/src/com/google/gwt/requestfactory/client/impl/AbstractListJsonRequestObject.java
index 3f98e9d..38c9c97 100644
--- a/bikeshed/src/com/google/gwt/requestfactory/client/impl/AbstractListJsonRequestObject.java
+++ b/bikeshed/src/com/google/gwt/requestfactory/client/impl/AbstractListJsonRequestObject.java
@@ -21,8 +21,8 @@
 import com.google.gwt.user.client.ui.TakesValueList;
 import com.google.gwt.valuestore.shared.Property;
 import com.google.gwt.valuestore.shared.Record;
-import com.google.gwt.valuestore.shared.impl.RecordSchema;
 import com.google.gwt.valuestore.shared.impl.RecordJsoImpl;
+import com.google.gwt.valuestore.shared.impl.RecordSchema;
 
 import java.util.ArrayList;
 import java.util.Collection;
diff --git a/bikeshed/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java b/bikeshed/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java
index 7a754b1..7e1d279 100644
--- a/bikeshed/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java
+++ b/bikeshed/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java
@@ -106,7 +106,7 @@
 
     PrintWriter pw = printWriters.tryToMakePrintWriterFor(recordImplTypeName);
     if (pw != null) {
-      logger = logger.branch(TreeLogger.INFO, "Generating "
+      logger = logger.branch(TreeLogger.DEBUG, "Generating "
           + publicRecordType.getName());
 
       ClassSourceFileComposerFactory f = new ClassSourceFileComposerFactory(
@@ -239,7 +239,7 @@
       PrintWriter out, JClassType interfaceType, String packageName,
       String implName) throws UnableToCompleteException {
 
-    logger = logger.branch(TreeLogger.INFO, String.format(
+    logger = logger.branch(TreeLogger.DEBUG, String.format(
         "Generating implementation of %s", interfaceType.getName()));
 
     ClassSourceFileComposerFactory f = new ClassSourceFileComposerFactory(
@@ -304,7 +304,7 @@
       GeneratorContext generatorContext, PrintWriterManager printWriters,
       PrintWriter out, JClassType interfaceType, JClassType mainType,
       String packageName, String implName) throws UnableToCompleteException {
-    logger = logger.branch(TreeLogger.INFO, String.format(
+    logger = logger.branch(TreeLogger.DEBUG, String.format(
         "Generating implementation of %s", interfaceType.getName()));
 
     ClassSourceFileComposerFactory f = new ClassSourceFileComposerFactory(
