Convert an anonymous subclass of ThreadLocal in the implementation of InjectorImpl to a nested class, thus eliminating its implicit parent reference. This implicit parent reference creates some additional work during debugging and is unnecessary.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=51925521
diff --git a/core/src/com/google/inject/internal/InjectorImpl.java b/core/src/com/google/inject/internal/InjectorImpl.java
index f936c63..6faab97 100644
--- a/core/src/com/google/inject/internal/InjectorImpl.java
+++ b/core/src/com/google/inject/internal/InjectorImpl.java
@@ -128,12 +128,7 @@
     if (parent != null) {
       localContext = parent.localContext;
     } else {
-      localContext = new ThreadLocal<Object[]>() {
-        @Override
-        protected Object[] initialValue() {
-          return new Object[1];
-        }
-      };
+      localContext = new LocalContextThreadLocal();
     }
   }
 
@@ -1066,4 +1061,10 @@
         .toString();
   }
 
+  private static final class LocalContextThreadLocal extends ThreadLocal<Object[]> {
+    @Override
+    protected Object[] initialValue() {
+      return new Object[1];
+    }
+  }
 }