http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/141c7fa0/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/formats/ParameterParser.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/formats/ParameterParser.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/formats/ParameterParser.java
index 32555c4..3d0f28b 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/formats/ParameterParser.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/formats/ParameterParser.java
@@ -50,19 +50,19 @@ public class ParameterParser {
   MonotonicTreeMap<String, Constructor<? extends ExternalConstructor<?>>> 
parsers = new MonotonicTreeMap<>();
 
   @SuppressWarnings({"unchecked", "rawtypes"})
-  public void addParser(Class<? extends ExternalConstructor<?>> ec) throws 
BindException {
-    Class<?> tc = (Class<?>) ReflectionUtilities.getInterfaceTarget(
+  public void addParser(final Class<? extends ExternalConstructor<?>> ec) 
throws BindException {
+    final Class<?> tc = (Class<?>) ReflectionUtilities.getInterfaceTarget(
         ExternalConstructor.class, ec);
     addParser((Class) tc, (Class) ec);
   }
 
-  public <T, U extends T> void addParser(Class<U> clazz, Class<? extends 
ExternalConstructor<T>> ec)
+  public <T, U extends T> void addParser(final Class<U> clazz, final Class<? 
extends ExternalConstructor<T>> ec)
       throws BindException {
-    Constructor<? extends ExternalConstructor<T>> c;
+    final Constructor<? extends ExternalConstructor<T>> c;
     try {
       c = ec.getDeclaredConstructor(String.class);
       c.setAccessible(true);
-    } catch (NoSuchMethodException e) {
+    } catch (final NoSuchMethodException e) {
       throw new BindException("Constructor "
           + ReflectionUtilities.getFullName(ec) + "(String) does not exist!", 
e);
     }
@@ -70,8 +70,8 @@ public class ParameterParser {
     parsers.put(ReflectionUtilities.getFullName(clazz), c);
   }
 
-  public void mergeIn(ParameterParser p) {
-    for (String s : p.parsers.keySet()) {
+  public void mergeIn(final ParameterParser p) {
+    for (final String s : p.parsers.keySet()) {
       if (!parsers.containsKey(s)) {
         parsers.put(s, p.parsers.get(s));
       } else {
@@ -86,12 +86,12 @@ public class ParameterParser {
     }
   }
 
-  public <T> T parse(Class<T> c, String s) {
-    Class<?> d = ReflectionUtilities.boxClass(c);
-    for (Type e : ReflectionUtilities.classAndAncestors(d)) {
-      String name = ReflectionUtilities.getFullName(e);
+  public <T> T parse(final Class<T> c, final String s) {
+    final Class<?> d = ReflectionUtilities.boxClass(c);
+    for (final Type e : ReflectionUtilities.classAndAncestors(d)) {
+      final String name = ReflectionUtilities.getFullName(e);
       if (parsers.containsKey(name)) {
-        T ret = parse(name, s);
+        final T ret = parse(name, s);
         if (c.isAssignableFrom(ret.getClass())) {
           return ret;
         } else {
@@ -103,11 +103,11 @@ public class ParameterParser {
   }
 
   @SuppressWarnings("unchecked")
-  public <T> T parse(String name, String value) {
+  public <T> T parse(final String name, final String value) {
     if (parsers.containsKey(name)) {
       try {
         return (T) (parsers.get(name).newInstance(value).newInstance());
-      } catch (ReflectiveOperationException e) {
+      } catch (final ReflectiveOperationException e) {
         throw new IllegalArgumentException("Error invoking constructor for "
             + name, e);
       }
@@ -146,7 +146,7 @@ public class ParameterParser {
     }
   }
 
-  public boolean canParse(String name) {
+  public boolean canParse(final String name) {
     return parsers.containsKey(name) || BUILTIN_NAMES.contains(name);
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/141c7fa0/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/ConfigurationBuilderImpl.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/ConfigurationBuilderImpl.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/ConfigurationBuilderImpl.java
index e080748..ce70b37 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/ConfigurationBuilderImpl.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/ConfigurationBuilderImpl.java
@@ -54,47 +54,47 @@ public class ConfigurationBuilderImpl implements 
ConfigurationBuilder {
     this.namespace = Tang.Factory.getTang().getDefaultClassHierarchy();
   }
 
-  protected ConfigurationBuilderImpl(ClassHierarchy namespace) {
+  protected ConfigurationBuilderImpl(final ClassHierarchy namespace) {
     this.namespace = namespace;
   }
 
-  protected ConfigurationBuilderImpl(URL[] jars,
-                                     Configuration[] confs,
-                                     Class<? extends ExternalConstructor<?>>[] 
parsers)
+  protected ConfigurationBuilderImpl(final URL[] jars,
+                                     final Configuration[] confs,
+                                     final Class<? extends 
ExternalConstructor<?>>[] parsers)
       throws BindException {
     this.namespace = Tang.Factory.getTang().getDefaultClassHierarchy(jars, 
parsers);
-    for (Configuration tc : confs) {
+    for (final Configuration tc : confs) {
       addConfiguration(((ConfigurationImpl) tc));
     }
   }
 
-  protected ConfigurationBuilderImpl(ConfigurationBuilderImpl t) {
+  protected ConfigurationBuilderImpl(final ConfigurationBuilderImpl t) {
     this.namespace = t.getClassHierarchy();
     try {
       addConfiguration(t.getClassHierarchy(), t);
-    } catch (BindException e) {
+    } catch (final BindException e) {
       throw new IllegalStateException("Could not copy builder", e);
     }
   }
 
   @SuppressWarnings("unchecked")
-  protected ConfigurationBuilderImpl(URL... jars) throws BindException {
+  protected ConfigurationBuilderImpl(final URL... jars) throws BindException {
     this(jars, new Configuration[0], new Class[0]);
   }
 
   @SuppressWarnings("unchecked")
-  protected ConfigurationBuilderImpl(Configuration... confs) throws 
BindException {
+  protected ConfigurationBuilderImpl(final Configuration... confs) throws 
BindException {
     this(new URL[0], confs, new Class[0]);
   }
 
   @Override
-  public void addConfiguration(Configuration conf) throws BindException {
+  public void addConfiguration(final Configuration conf) throws BindException {
     // XXX remove cast!
     addConfiguration(conf.getClassHierarchy(), ((ConfigurationImpl) 
conf).builder);
   }
 
   @SuppressWarnings("unchecked")
-  private <T> void addConfiguration(ClassHierarchy ns, 
ConfigurationBuilderImpl builder)
+  private <T> void addConfiguration(final ClassHierarchy ns, final 
ConfigurationBuilderImpl builder)
       throws BindException {
     namespace = namespace.merge(ns);
     if ((namespace instanceof ClassHierarchyImpl || builder.namespace 
instanceof ClassHierarchyImpl)) {
@@ -106,24 +106,24 @@ public class ConfigurationBuilderImpl implements 
ConfigurationBuilder {
       }
     }
 
-    for (ClassNode<?> cn : builder.boundImpls.keySet()) {
+    for (final ClassNode<?> cn : builder.boundImpls.keySet()) {
       bind(cn.getFullName(), builder.boundImpls.get(cn).getFullName());
     }
-    for (ClassNode<?> cn : builder.boundConstructors.keySet()) {
+    for (final ClassNode<?> cn : builder.boundConstructors.keySet()) {
       bind(cn.getFullName(), builder.boundConstructors.get(cn).getFullName());
     }
     // The namedParameters set contains the strings that can be used to
     // instantiate new
     // named parameter instances. Create new ones where we can.
-    for (NamedParameterNode<?> np : builder.namedParameters.keySet()) {
+    for (final NamedParameterNode<?> np : builder.namedParameters.keySet()) {
       bind(np.getFullName(), builder.namedParameters.get(np));
     }
-    for (ClassNode<?> cn : builder.legacyConstructors.keySet()) {
+    for (final ClassNode<?> cn : builder.legacyConstructors.keySet()) {
       registerLegacyConstructor(cn, builder.legacyConstructors.get(cn)
           .getArgs());
     }
-    for (Entry<NamedParameterNode<Set<?>>, Object> e : 
builder.boundSetEntries) {
-      String name = ((NamedParameterNode<Set<T>>) (NamedParameterNode<?>) 
e.getKey()).getFullName();
+    for (final Entry<NamedParameterNode<Set<?>>, Object> e : 
builder.boundSetEntries) {
+      final String name = ((NamedParameterNode<Set<T>>) 
(NamedParameterNode<?>) e.getKey()).getFullName();
       if (e.getValue() instanceof Node) {
         bindSetEntry(name, (Node) e.getValue());
       } else if (e.getValue() instanceof String) {
@@ -133,7 +133,7 @@ public class ConfigurationBuilderImpl implements 
ConfigurationBuilder {
       }
     }
     // The boundLists set contains bound lists with their target 
NamedParameters
-    for (NamedParameterNode<List<?>> np : builder.boundLists.keySet()) {
+    for (final NamedParameterNode<List<?>> np : builder.boundLists.keySet()) {
       bindList(np.getFullName(), builder.boundLists.get(np));
     }
   }
@@ -144,9 +144,9 @@ public class ConfigurationBuilderImpl implements 
ConfigurationBuilder {
   }
 
   @Override
-  public void registerLegacyConstructor(ClassNode<?> c,
+  public void registerLegacyConstructor(final ClassNode<?> c,
                                         final ConstructorArg... args) throws 
BindException {
-    String[] cn = new String[args.length];
+    final String[] cn = new String[args.length];
     for (int i = 0; i < args.length; i++) {
       cn[i] = args[i].getType();
     }
@@ -154,10 +154,10 @@ public class ConfigurationBuilderImpl implements 
ConfigurationBuilder {
   }
 
   @Override
-  public void registerLegacyConstructor(String s, final String... args)
+  public void registerLegacyConstructor(final String s, final String... args)
       throws BindException {
-    ClassNode<?> cn = (ClassNode<?>) namespace.getNode(s);
-    ClassNode<?>[] cnArgs = new ClassNode[args.length];
+    final ClassNode<?> cn = (ClassNode<?>) namespace.getNode(s);
+    final ClassNode<?>[] cnArgs = new ClassNode[args.length];
     for (int i = 0; i < args.length; i++) {
       cnArgs[i] = (ClassNode<?>) namespace.getNode(args[i]);
     }
@@ -165,18 +165,18 @@ public class ConfigurationBuilderImpl implements 
ConfigurationBuilder {
   }
 
   @Override
-  public void registerLegacyConstructor(ClassNode<?> cn,
+  public void registerLegacyConstructor(final ClassNode<?> cn,
                                         final ClassNode<?>... args) throws 
BindException {
     legacyConstructors.put(cn, cn.getConstructorDef(args));
   }
 
   @Override
-  public <T> void bind(String key, String value) throws BindException {
-    Node n = namespace.getNode(key);
+  public <T> void bind(final String key, final String value) throws 
BindException {
+    final Node n = namespace.getNode(key);
     if (n instanceof NamedParameterNode) {
       bindParameter((NamedParameterNode<?>) n, value);
     } else if (n instanceof ClassNode) {
-      Node m = namespace.getNode(value);
+      final Node m = namespace.getNode(value);
       bind((ClassNode<?>) n, (ClassNode<?>) m);
     } else {
       throw new IllegalStateException("getNode() returned " + n +
@@ -185,13 +185,13 @@ public class ConfigurationBuilderImpl implements 
ConfigurationBuilder {
   }
 
   @SuppressWarnings({"unchecked", "rawtypes"})
-  public void bind(Node key, Node value) throws BindException {
+  public void bind(final Node key, final Node value) throws BindException {
     if (key instanceof NamedParameterNode) {
       bindParameter((NamedParameterNode<?>) key, value.getFullName());
     } else if (key instanceof ClassNode) {
-      ClassNode<?> k = (ClassNode<?>) key;
+      final ClassNode<?> k = (ClassNode<?>) key;
       if (value instanceof ClassNode) {
-        ClassNode<?> val = (ClassNode<?>) value;
+        final ClassNode<?> val = (ClassNode<?>) value;
         if (val.isExternalConstructor() && !k.isExternalConstructor()) {
           bindConstructor(k, (ClassNode) val);
         } else {
@@ -201,7 +201,7 @@ public class ConfigurationBuilderImpl implements 
ConfigurationBuilder {
     }
   }
 
-  public <T> void bindImplementation(ClassNode<T> n, ClassNode<? extends T> m)
+  public <T> void bindImplementation(final ClassNode<T> n, final ClassNode<? 
extends T> m)
       throws BindException {
     if (namespace.isImplementation(n, m)) {
       boundImpls.put(n, m);
@@ -211,7 +211,7 @@ public class ConfigurationBuilderImpl implements 
ConfigurationBuilder {
   }
 
   @SuppressWarnings({"unchecked", "rawtypes"})
-  public <T> void bindParameter(NamedParameterNode<T> name, String value)
+  public <T> void bindParameter(final NamedParameterNode<T> name, final String 
value)
       throws BindException {
     /* Parse and discard value; this is just for type checking */
     if (namespace instanceof JavaClassHierarchy) {
@@ -226,27 +226,27 @@ public class ConfigurationBuilderImpl implements 
ConfigurationBuilder {
 
   @SuppressWarnings("unchecked")
   @Override
-  public void bindSetEntry(String iface, String impl)
+  public void bindSetEntry(final String iface, final String impl)
       throws BindException {
     boundSetEntries.put((NamedParameterNode<Set<?>>) namespace.getNode(iface), 
impl);
   }
 
   @SuppressWarnings("unchecked")
   @Override
-  public void bindSetEntry(String iface, Node impl)
+  public void bindSetEntry(final String iface, final Node impl)
       throws BindException {
     boundSetEntries.put((NamedParameterNode<Set<?>>) namespace.getNode(iface), 
impl);
   }
 
   @SuppressWarnings("unchecked")
   @Override
-  public <T> void bindSetEntry(NamedParameterNode<Set<T>> iface, String impl)
+  public <T> void bindSetEntry(final NamedParameterNode<Set<T>> iface, final 
String impl)
       throws BindException {
     if (namespace instanceof ClassHierarchyImpl) {
-      JavaClassHierarchy javanamespace = (ClassHierarchyImpl) namespace;
+      final JavaClassHierarchy javanamespace = (ClassHierarchyImpl) namespace;
       try {
         javanamespace.parse(iface, impl);
-      } catch (ParseException e) {
+      } catch (final ParseException e) {
         throw new IllegalStateException("Could not parse " + impl + " which 
was passed to " + iface);
       }
     }
@@ -255,22 +255,22 @@ public class ConfigurationBuilderImpl implements 
ConfigurationBuilder {
 
   @SuppressWarnings("unchecked")
   @Override
-  public <T> void bindSetEntry(NamedParameterNode<Set<T>> iface, Node impl)
+  public <T> void bindSetEntry(final NamedParameterNode<Set<T>> iface, final 
Node impl)
       throws BindException {
     boundSetEntries.put((NamedParameterNode<Set<?>>) (NamedParameterNode<?>) 
iface, impl);
   }
 
   @SuppressWarnings("unchecked")
   @Override
-  public <T> void bindList(NamedParameterNode<List<T>> iface, List implList) {
+  public <T> void bindList(final NamedParameterNode<List<T>> iface, final List 
implList) {
     // Check parsability of list items
-    for (Object item : implList) {
+    for (final Object item : implList) {
       if (item instanceof String) {
-        JavaClassHierarchy javanamespace = (ClassHierarchyImpl) namespace;
+        final JavaClassHierarchy javanamespace = (ClassHierarchyImpl) 
namespace;
         try {
           // Just for parsability checking.
           javanamespace.parse(iface, (String) item);
-        } catch (ParseException e) {
+        } catch (final ParseException e) {
           throw new IllegalStateException("Could not parse " + item + " which 
was passed to " + iface);
         }
       }
@@ -280,16 +280,16 @@ public class ConfigurationBuilderImpl implements 
ConfigurationBuilder {
 
   @SuppressWarnings("unchecked")
   @Override
-  public void bindList(String iface, List implList) {
-    NamedParameterNode<List<?>> ifaceNode = (NamedParameterNode<List<?>>) 
namespace.getNode(iface);
+  public void bindList(final String iface, final List implList) {
+    final NamedParameterNode<List<?>> ifaceNode = 
(NamedParameterNode<List<?>>) namespace.getNode(iface);
     // Check parsability of list items
-    for (Object item : implList) {
+    for (final Object item : implList) {
       if (item instanceof String) {
-        JavaClassHierarchy javanamespace = (ClassHierarchyImpl) namespace;
+        final JavaClassHierarchy javanamespace = (ClassHierarchyImpl) 
namespace;
         try {
           // Just for parsability checking.
           javanamespace.parse(ifaceNode, (String) item);
-        } catch (ParseException e) {
+        } catch (final ParseException e) {
           throw new IllegalStateException("Could not parse " + item + " which 
was passed to " + iface);
         }
       }
@@ -298,8 +298,8 @@ public class ConfigurationBuilderImpl implements 
ConfigurationBuilder {
   }
 
   @Override
-  public <T> void bindConstructor(ClassNode<T> k,
-                                  ClassNode<? extends ExternalConstructor<? 
extends T>> v) {
+  public <T> void bindConstructor(final ClassNode<T> k,
+                                  final ClassNode<? extends 
ExternalConstructor<? extends T>> v) {
     boundConstructors.put(k, v);
   }
 
@@ -309,17 +309,17 @@ public class ConfigurationBuilderImpl implements 
ConfigurationBuilder {
   }
 
   @Override
-  public String classPrettyDefaultString(String longName) throws 
NameResolutionException {
+  public String classPrettyDefaultString(final String longName) throws 
NameResolutionException {
     final NamedParameterNode<?> param = (NamedParameterNode<?>) namespace
         .getNode(longName);
     return param.getSimpleArgName() + "=" + join(",", 
param.getDefaultInstanceAsStrings());
   }
 
-  private String join(String sep, String[] s) {
+  private String join(final String sep, final String[] s) {
     if (s.length == 0) {
       return null;
     } else {
-      StringBuilder sb = new StringBuilder(s[0]);
+      final StringBuilder sb = new StringBuilder(s[0]);
       for (int i = 1; i < s.length; i++) {
         sb.append(sep);
         sb.append(s[i]);
@@ -329,7 +329,7 @@ public class ConfigurationBuilderImpl implements 
ConfigurationBuilder {
   }
 
   @Override
-  public String classPrettyDescriptionString(String fullName)
+  public String classPrettyDescriptionString(final String fullName)
       throws NameResolutionException {
     final NamedParameterNode<?> param = (NamedParameterNode<?>) namespace
         .getNode(fullName);
@@ -345,7 +345,7 @@ public class ConfigurationBuilderImpl implements 
ConfigurationBuilder {
       return false;
     }
 
-    ConfigurationBuilderImpl that = (ConfigurationBuilderImpl) o;
+    final ConfigurationBuilderImpl that = (ConfigurationBuilderImpl) o;
 
     if (boundConstructors != null ?
         !boundConstructors.equals(that.boundConstructors) : 
that.boundConstructors != null) {

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/141c7fa0/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/ConfigurationImpl.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/ConfigurationImpl.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/ConfigurationImpl.java
index 2467c09..42ab78b 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/ConfigurationImpl.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/ConfigurationImpl.java
@@ -93,12 +93,12 @@ public class ConfigurationImpl implements Configuration {
   }
 
   @Override
-  public Set<Object> getBoundSet(NamedParameterNode<Set<?>> np) {
+  public Set<Object> getBoundSet(final NamedParameterNode<Set<?>> np) {
     return this.builder.boundSetEntries.getValuesForKey(np);
   }
 
   @Override
-  public List<Object> getBoundList(NamedParameterNode<List<?>> np) {
+  public List<Object> getBoundList(final NamedParameterNode<List<?>> np) {
     return this.builder.boundLists.get(np);
   }
 
@@ -119,7 +119,7 @@ public class ConfigurationImpl implements Configuration {
   }
 
   @Override
-  public boolean equals(Object o) {
+  public boolean equals(final Object o) {
     if (this == o) {
       return true;
     }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/141c7fa0/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/InjectionFuturePlan.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/InjectionFuturePlan.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/InjectionFuturePlan.java
index 6b55adb..4e3d8f2 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/InjectionFuturePlan.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/InjectionFuturePlan.java
@@ -22,7 +22,7 @@ import org.apache.reef.tang.types.Node;
 
 public class InjectionFuturePlan<T> extends InjectionPlan<T> {
 
-  public InjectionFuturePlan(Node name) {
+  public InjectionFuturePlan(final Node name) {
     super(name);
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/141c7fa0/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/InjectionPlan.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/InjectionPlan.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/InjectionPlan.java
index d13750a..19803d7 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/InjectionPlan.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/InjectionPlan.java
@@ -32,7 +32,7 @@ public abstract class InjectionPlan<T> implements 
Traversable<InjectionPlan<?>>
     this.node = node;
   }
 
-  private static void newline(StringBuffer pretty, int indent) {
+  private static void newline(final StringBuffer pretty, final int indent) {
     pretty.append('\n');
     for (int j = 0; j < indent * 2; j++) {
       pretty.append(' ');
@@ -65,18 +65,18 @@ public abstract class InjectionPlan<T> implements 
Traversable<InjectionPlan<?>>
 
   public abstract boolean isInjectable();
 
-  protected void pad(StringBuffer sb, int n) {
+  protected void pad(final StringBuffer sb, final int n) {
     for (int i = 0; i < n; i++) {
       sb.append("  ");
     }
   }
 
   public String toPrettyString() {
-    String ugly = node.getFullName() + ":\n" + toString();
-    StringBuffer pretty = new StringBuffer();
+    final String ugly = node.getFullName() + ":\n" + toString();
+    final StringBuffer pretty = new StringBuffer();
     int currentIndent = 1;
     for (int i = 0; i < ugly.length(); i++) {
-      char c = ugly.charAt(i);
+      final char c = ugly.charAt(i);
       if (c == '(') {
         if (ugly.charAt(i + 1) == ')') {
           pretty.append("()");

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/141c7fa0/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/ListInjectionPlan.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/ListInjectionPlan.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/ListInjectionPlan.java
index 18e7056..e759b52 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/ListInjectionPlan.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/ListInjectionPlan.java
@@ -29,13 +29,13 @@ public class ListInjectionPlan<T> extends InjectionPlan<T> {
   private final boolean isAmbiguous;
   private final boolean isInjectable;
 
-  public ListInjectionPlan(Node name, List<InjectionPlan<T>> entries) {
+  public ListInjectionPlan(final Node name, final List<InjectionPlan<T>> 
entries) {
     super(name);
     this.entries.addAll(entries);
     int numAlternativesAccumulator = 1;
     boolean isAmbiguousAccumulator = false;
     boolean isInjectableAccumulator = true;
-    for (InjectionPlan<T> ip : entries) {
+    for (final InjectionPlan<T> ip : entries) {
       numAlternativesAccumulator *= ip.getNumAlternatives();
       isAmbiguousAccumulator |= ip.isAmbiguous();
       isInjectableAccumulator &= ip.isInjectable();
@@ -66,8 +66,8 @@ public class ListInjectionPlan<T> extends InjectionPlan<T> {
 
   @Override
   protected String toAmbiguousInjectString() {
-    StringBuilder sb = new StringBuilder(getNode().getFullName() + "(list) 
includes ambiguous plans [");
-    for (InjectionPlan<T> ip : entries) {
+    final StringBuilder sb = new StringBuilder(getNode().getFullName() + 
"(list) includes ambiguous plans [");
+    for (final InjectionPlan<T> ip : entries) {
       if (ip.isAmbiguous()) {
         sb.append("\n" + ip.toAmbiguousInjectString());
       }
@@ -78,8 +78,8 @@ public class ListInjectionPlan<T> extends InjectionPlan<T> {
 
   @Override
   protected String toInfeasibleInjectString() {
-    StringBuilder sb = new StringBuilder(getNode().getFullName() + "(list) 
includes infeasible plans [");
-    for (InjectionPlan<T> ip : entries) {
+    final StringBuilder sb = new StringBuilder(getNode().getFullName() + 
"(list) includes infeasible plans [");
+    for (final InjectionPlan<T> ip : entries) {
       if (!ip.isFeasible()) {
         sb.append("\n" + ip.toInfeasibleInjectString());
       }
@@ -95,8 +95,8 @@ public class ListInjectionPlan<T> extends InjectionPlan<T> {
 
   @Override
   public String toShallowString() {
-    StringBuilder sb = new StringBuilder("list { ");
-    for (InjectionPlan<T> ip : entries) {
+    final StringBuilder sb = new StringBuilder("list { ");
+    for (final InjectionPlan<T> ip : entries) {
       sb.append("\n" + ip.toShallowString());
     }
     sb.append("\n } ");

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/141c7fa0/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/SetInjectionPlan.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/SetInjectionPlan.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/SetInjectionPlan.java
index 8b65ad4..5fd333a 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/SetInjectionPlan.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/SetInjectionPlan.java
@@ -29,13 +29,13 @@ public class SetInjectionPlan<T> extends InjectionPlan<T> {
   private final boolean isAmbiguous;
   private final boolean isInjectable;
 
-  public SetInjectionPlan(Node name, Set<InjectionPlan<T>> entries) {
+  public SetInjectionPlan(final Node name, final Set<InjectionPlan<T>> 
entries) {
     super(name);
     this.entries.addAll(entries);
     int numAlternativesAccumulator = 1;
     boolean isAmbiguousAccumulator = false;
     boolean isInjectableAccumulator = true;
-    for (InjectionPlan<T> ip : entries) {
+    for (final InjectionPlan<T> ip : entries) {
       numAlternativesAccumulator *= ip.getNumAlternatives();
       isAmbiguousAccumulator |= ip.isAmbiguous();
       isInjectableAccumulator &= ip.isInjectable();
@@ -66,8 +66,8 @@ public class SetInjectionPlan<T> extends InjectionPlan<T> {
 
   @Override
   protected String toAmbiguousInjectString() {
-    StringBuilder sb = new StringBuilder(getNode().getFullName() + "(set) 
includes ambiguous plans [");
-    for (InjectionPlan<T> ip : entries) {
+    final StringBuilder sb = new StringBuilder(getNode().getFullName() + 
"(set) includes ambiguous plans [");
+    for (final InjectionPlan<T> ip : entries) {
       if (ip.isAmbiguous()) {
         sb.append("\n" + ip.toAmbiguousInjectString());
       }
@@ -78,8 +78,8 @@ public class SetInjectionPlan<T> extends InjectionPlan<T> {
 
   @Override
   protected String toInfeasibleInjectString() {
-    StringBuilder sb = new StringBuilder(getNode().getFullName() + "(set) 
includes infeasible plans [");
-    for (InjectionPlan<T> ip : entries) {
+    final StringBuilder sb = new StringBuilder(getNode().getFullName() + 
"(set) includes infeasible plans [");
+    for (final InjectionPlan<T> ip : entries) {
       if (!ip.isFeasible()) {
         sb.append("\n" + ip.toInfeasibleInjectString());
       }
@@ -95,8 +95,8 @@ public class SetInjectionPlan<T> extends InjectionPlan<T> {
 
   @Override
   public String toShallowString() {
-    StringBuilder sb = new StringBuilder("set { ");
-    for (InjectionPlan<T> ip : entries) {
+    final StringBuilder sb = new StringBuilder("set { ");
+    for (final InjectionPlan<T> ip : entries) {
       sb.append("\n" + ip.toShallowString());
     }
     sb.append("\n } ");

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/141c7fa0/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/StackBindLocation.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/StackBindLocation.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/StackBindLocation.java
index 063ecd6..55f9bec 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/StackBindLocation.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/StackBindLocation.java
@@ -26,7 +26,7 @@ public class StackBindLocation implements BindLocation {
   final StackTraceElement[] stack;
 
   public StackBindLocation() {
-    StackTraceElement[] stackTrace = new Throwable().getStackTrace();
+    final StackTraceElement[] stackTrace = new Throwable().getStackTrace();
     if (stackTrace.length != 0) {
       this.stack = Arrays.copyOfRange(stackTrace, 1, stackTrace.length);
     } else {
@@ -36,8 +36,8 @@ public class StackBindLocation implements BindLocation {
 
   @Override
   public String toString() {
-    StringBuffer sb = new StringBuffer("[\n");
-    for (StackTraceElement e : stack) {
+    final StringBuffer sb = new StringBuffer("[\n");
+    for (final StackTraceElement e : stack) {
       sb.append(e.toString() + "\n");
     }
     sb.append("]\n");

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/141c7fa0/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/Subplan.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/Subplan.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/Subplan.java
index 8a59299..f98b8c0 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/Subplan.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/Subplan.java
@@ -28,7 +28,7 @@ public final class Subplan<T> extends InjectionPlan<T> {
   final int selectedIndex;
 
   @SafeVarargs
-  public Subplan(Node node, int selectedIndex, InjectionPlan<T>... 
alternatives) {
+  public Subplan(final Node node, final int selectedIndex, final 
InjectionPlan<T>... alternatives) {
     super(node);
     this.alternatives = alternatives;
     if (selectedIndex < -1 || selectedIndex >= alternatives.length) {
@@ -39,7 +39,7 @@ public final class Subplan<T> extends InjectionPlan<T> {
       this.numAlternatives = alternatives[selectedIndex].getNumAlternatives();
     } else {
       int numAlternativesSum = 0;
-      for (InjectionPlan<? extends T> a : alternatives) {
+      for (final InjectionPlan<? extends T> a : alternatives) {
         numAlternativesSum += a.getNumAlternatives();
       }
       this.numAlternatives = numAlternativesSum;
@@ -47,7 +47,7 @@ public final class Subplan<T> extends InjectionPlan<T> {
   }
 
   @SafeVarargs
-  public Subplan(Node node, InjectionPlan<T>... alternatives) {
+  public Subplan(final Node node, final InjectionPlan<T>... alternatives) {
     this(node, -1, alternatives);
   }
 
@@ -96,7 +96,7 @@ public final class Subplan<T> extends InjectionPlan<T> {
     } else if (alternatives.length == 0) {
       return getNode().getName() + ": no injectable constructors";
     }
-    StringBuilder sb = new StringBuilder("[");
+    final StringBuilder sb = new StringBuilder("[");
     sb.append(getNode().getName() + " = " + alternatives[0]);
     for (int i = 1; i < alternatives.length; i++) {
       sb.append(" | " + alternatives[i]);
@@ -112,7 +112,7 @@ public final class Subplan<T> extends InjectionPlan<T> {
     } else if (alternatives.length == 0) {
       return getNode().getName() + ": no injectable constructors";
     }
-    StringBuilder sb = new StringBuilder("[");
+    final StringBuilder sb = new StringBuilder("[");
     sb.append(getNode().getName() + " = " + alternatives[0].toShallowString());
     for (int i = 1; i < alternatives.length; i++) {
       sb.append(" | " + alternatives[i].toShallowString());
@@ -140,9 +140,9 @@ public final class Subplan<T> extends InjectionPlan<T> {
     } else if (selectedIndex != -1) {
       return alternatives[selectedIndex].toAmbiguousInjectString();
     } else {
-      List<InjectionPlan<?>> alts = new ArrayList<>();
-      List<InjectionPlan<?>> ambig = new ArrayList<>();
-      for (InjectionPlan<?> alt : alternatives) {
+      final List<InjectionPlan<?>> alts = new ArrayList<>();
+      final List<InjectionPlan<?>> ambig = new ArrayList<>();
+      for (final InjectionPlan<?> alt : alternatives) {
         if (alt.isFeasible()) {
           alts.add(alt);
         }
@@ -150,11 +150,11 @@ public final class Subplan<T> extends InjectionPlan<T> {
           ambig.add(alt);
         }
       }
-      StringBuffer sb = new StringBuffer("Ambiguous subplan " + 
getNode().getFullName());
-      for (InjectionPlan<?> alt : alts) {
+      final StringBuffer sb = new StringBuffer("Ambiguous subplan " + 
getNode().getFullName());
+      for (final InjectionPlan<?> alt : alts) {
         sb.append("\n  " + alt.toShallowString() + " ");
       }
-      for (InjectionPlan<?> alt : ambig) {
+      for (final InjectionPlan<?> alt : ambig) {
         sb.append("\n  " + alt.toShallowString() + " ");
       }
       sb.append("\n]");

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/141c7fa0/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/TangImpl.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/TangImpl.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/TangImpl.java
index 7df15e0..a4125b2 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/TangImpl.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/TangImpl.java
@@ -40,7 +40,7 @@ public class TangImpl implements Tang {
   }
 
   @Override
-  public Injector newInjector(Configuration... confs) throws BindException {
+  public Injector newInjector(final Configuration... confs) throws 
BindException {
     return new InjectorImpl(new JavaConfigurationBuilderImpl(confs).build());
   }
 
@@ -49,23 +49,23 @@ public class TangImpl implements Tang {
   public JavaConfigurationBuilder newConfigurationBuilder() {
     try {
       return newConfigurationBuilder(new URL[0], new Configuration[0], new 
Class[0]);
-    } catch (BindException e) {
+    } catch (final BindException e) {
       throw new IllegalStateException(
           "Caught unexpeceted bind exception!  Implementation bug.", e);
     }
   }
 
   @Override
-  public ConfigurationBuilder newConfigurationBuilder(ClassHierarchy ch) {
+  public ConfigurationBuilder newConfigurationBuilder(final ClassHierarchy ch) 
{
     return new ConfigurationBuilderImpl(ch);
   }
 
   @SuppressWarnings("unchecked")
   @Override
-  public JavaConfigurationBuilder newConfigurationBuilder(URL... jars) {
+  public JavaConfigurationBuilder newConfigurationBuilder(final URL... jars) {
     try {
       return newConfigurationBuilder(jars, new Configuration[0], new Class[0]);
-    } catch (BindException e) {
+    } catch (final BindException e) {
       throw new IllegalStateException(
           "Caught unexpeceted bind exception!  Implementation bug.", e);
     }
@@ -74,22 +74,21 @@ public class TangImpl implements Tang {
   @SuppressWarnings("unchecked")
   @Override
   public JavaConfigurationBuilder newConfigurationBuilder(
-      Configuration... confs) throws BindException {
+      final Configuration... confs) throws BindException {
     return newConfigurationBuilder(new URL[0], confs, new Class[0]);
   }
 
   @Override
   public final JavaConfigurationBuilder newConfigurationBuilder(
-      @SuppressWarnings("unchecked") Class<? extends 
ExternalConstructor<?>>... parsers) throws BindException {
+      @SuppressWarnings("unchecked") final Class<? extends 
ExternalConstructor<?>>... parsers) throws BindException {
     return newConfigurationBuilder(new URL[0], new Configuration[0], parsers);
   }
 
   @Override
-  public JavaConfigurationBuilder newConfigurationBuilder(URL[] jars,
-                                                          Configuration[] 
confs,
-                                                          Class<? extends 
ExternalConstructor<?>>[] parameterParsers)
+  public JavaConfigurationBuilder newConfigurationBuilder(final URL[] jars, 
final Configuration[] confs,
+          final Class<? extends ExternalConstructor<?>>[] parameterParsers)
       throws BindException {
-    JavaConfigurationBuilder cb = new JavaConfigurationBuilderImpl(jars, 
confs, parameterParsers);
+    final JavaConfigurationBuilder cb = new JavaConfigurationBuilderImpl(jars, 
confs, parameterParsers);
 //    for (Configuration c : confs) {
 //      cb.addConfiguration(c);
 //    }
@@ -103,9 +102,9 @@ public class TangImpl implements Tang {
   }
 
   @Override
-  public JavaClassHierarchy getDefaultClassHierarchy(URL[] jars,
-                                                     Class<? extends 
ExternalConstructor<?>>[] parameterParsers) {
-    SetValuedKey key = new SetValuedKey(jars, parameterParsers);
+  public JavaClassHierarchy getDefaultClassHierarchy(final URL[] jars,
+                                                     final Class<? extends 
ExternalConstructor<?>>[] parameterParsers) {
+    final SetValuedKey key = new SetValuedKey(jars, parameterParsers);
 
     JavaClassHierarchy ret = defaultClassHierarchy.get(key);
     if (ret == null) {
@@ -116,10 +115,10 @@ public class TangImpl implements Tang {
   }
 
   @Override
-  public Injector newInjector(Configuration confs) {
+  public Injector newInjector(final Configuration confs) {
     try {
       return newInjector(new Configuration[]{confs});
-    } catch (BindException e) {
+    } catch (final BindException e) {
       throw new IllegalStateException("Unexpected error cloning 
configuration", e);
     }
   }
@@ -128,7 +127,7 @@ public class TangImpl implements Tang {
   public Injector newInjector() {
     try {
       return newInjector(new Configuration[]{});
-    } catch (BindException e) {
+    } catch (final BindException e) {
       throw new IllegalStateException("Unexpected error from empty 
configuration", e);
     }
   }
@@ -136,7 +135,7 @@ public class TangImpl implements Tang {
   private class SetValuedKey {
     public final Set<Object> key;
 
-    public SetValuedKey(Object[] ts, Object[] us) {
+    public SetValuedKey(final Object[] ts, final Object[] us) {
       key = new HashSet<Object>(Arrays.asList(ts));
       key.addAll(Arrays.asList(us));
     }
@@ -144,15 +143,15 @@ public class TangImpl implements Tang {
     @Override
     public int hashCode() {
       int i = 0;
-      for (Object t : key) {
+      for (final Object t : key) {
         i += t.hashCode();
       }
       return i;
     }
 
     @Override
-    public boolean equals(Object o) {
-      SetValuedKey other = (SetValuedKey) o;
+    public boolean equals(final Object o) {
+      final SetValuedKey other = (SetValuedKey) o;
       if (other.key.size() != this.key.size()) {
         return false;
       }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/141c7fa0/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/avro/AvroClassHierarchy.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/avro/AvroClassHierarchy.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/avro/AvroClassHierarchy.java
index 9e1ea57..74c8d3c 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/avro/AvroClassHierarchy.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/avro/AvroClassHierarchy.java
@@ -129,7 +129,7 @@ final class AvroClassHierarchy implements ClassHierarchy {
       final ClassNode iface;
       try {
         iface = (ClassNode) getNode(getString(n.getFullName()));
-      } catch (NameResolutionException e) {
+      } catch (final NameResolutionException e) {
         final String errorMessage = new StringBuilder()
                 .append("When reading avro node ").append(n.getFullName())
                 .append(" does not exist.  Full record is 
").append(n).toString();
@@ -138,18 +138,18 @@ final class AvroClassHierarchy implements ClassHierarchy {
       for (final CharSequence impl : cn.getImplFullNames()) {
         try {
           iface.putImpl((ClassNode) getNode(getString(impl)));
-        } catch (NameResolutionException e) {
+        } catch (final NameResolutionException e) {
           final String errorMessage = new StringBuilder()
                   .append("When reading avro node ").append(n)
                   .append(" refers to non-existent 
implementation:").append(impl).toString();
           throw new IllegalStateException(errorMessage, e);
-        } catch (ClassCastException e) {
+        } catch (final ClassCastException e) {
           try {
             final String errorMessage = new StringBuilder()
                     .append("When reading avro node ").append(n).append(" 
found implementation")
                     .append(getNode(getString(impl))).append(" which is not a 
ClassNode!").toString();
             throw new IllegalStateException(errorMessage, e);
-          } catch (NameResolutionException e2) {
+          } catch (final NameResolutionException e2) {
             final String errorMessage = new StringBuilder()
                     .append("Got 'cant happen' exception when producing error 
message for ")
                     .append(e).toString();

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/141c7fa0/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/avro/AvroClassHierarchySerializer.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/avro/AvroClassHierarchySerializer.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/avro/AvroClassHierarchySerializer.java
index d0026ac..886b1d5 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/avro/AvroClassHierarchySerializer.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/avro/AvroClassHierarchySerializer.java
@@ -218,7 +218,7 @@ public final class AvroClassHierarchySerializer implements 
ClassHierarchySeriali
   }
 
   @Override
-  public void toTextFile(ClassHierarchy classHierarchy, File file) throws 
IOException {
+  public void toTextFile(final ClassHierarchy classHierarchy, final File file) 
throws IOException {
     try (final Writer w = new FileWriter(file)) {
       w.write(this.toString(classHierarchy));
     }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/141c7fa0/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/java/ClassHierarchyImpl.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/java/ClassHierarchyImpl.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/java/ClassHierarchyImpl.java
index 3011a0f..5d5f953 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/java/ClassHierarchyImpl.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/java/ClassHierarchyImpl.java
@@ -79,18 +79,18 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
   }
 
   @SuppressWarnings("unchecked")
-  public ClassHierarchyImpl(URL... jars) {
+  public ClassHierarchyImpl(final URL... jars) {
     this(jars, new Class[0]);
   }
 
-  public ClassHierarchyImpl(URL[] jars, Class<? extends 
ExternalConstructor<?>>[] parameterParsers) {
+  public ClassHierarchyImpl(final URL[] jars, final Class<? extends 
ExternalConstructor<?>>[] parameterParsers) {
     this.namespace = JavaNodeFactory.createRootPackageNode();
     this.jars = new ArrayList<>(Arrays.asList(jars));
     this.loader = new URLClassLoader(jars, this.getClass().getClassLoader());
-    for (Class<? extends ExternalConstructor<?>> p : parameterParsers) {
+    for (final Class<? extends ExternalConstructor<?>> p : parameterParsers) {
       try {
         parameterParser.addParser(p);
-      } catch (BindException e) {
+      } catch (final BindException e) {
         throw new IllegalArgumentException("Could not register parameter 
parsers", e);
       }
     }
@@ -106,14 +106,14 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
    */
   @SuppressWarnings("unchecked")
   @Override
-  public <T> T parseDefaultValue(NamedParameterNode<T> name) {
-    String[] vals = name.getDefaultInstanceAsStrings();
-    T[] ret = (T[]) new Object[vals.length];
+  public <T> T parseDefaultValue(final NamedParameterNode<T> name) {
+    final String[] vals = name.getDefaultInstanceAsStrings();
+    final T[] ret = (T[]) new Object[vals.length];
     for (int i = 0; i < vals.length; i++) {
-      String val = vals[i];
+      final String val = vals[i];
       try {
         ret[i] = parse(name, val);
-      } catch (ParseException e) {
+      } catch (final ParseException e) {
         throw new ClassHierarchyException("Could not parse default value", e);
       }
     }
@@ -143,11 +143,11 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
    */
   @Override
   @SuppressWarnings("unchecked")
-  public <T> T parse(NamedParameterNode<T> np, String value) throws 
ParseException {
+  public <T> T parse(final NamedParameterNode<T> np, final String value) 
throws ParseException {
     final ClassNode<T> iface;
     try {
       iface = (ClassNode<T>) getNode(np.getFullArgName());
-    } catch (NameResolutionException e) {
+    } catch (final NameResolutionException e) {
       throw new IllegalStateException("Could not parse validated named 
parameter argument type.  NamedParameter is " +
           np.getFullName() + " argument type is " + np.getFullArgName());
     }
@@ -156,7 +156,7 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
     try {
       clazz = (Class<?>) classForName(iface.getFullName());
       fullName = null;
-    } catch (ClassNotFoundException e) {
+    } catch (final ClassNotFoundException e) {
       clazz = null;
       fullName = iface.getFullName();
     }
@@ -166,7 +166,7 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
       } else {
         return parameterParser.parse(fullName, value);
       }
-    } catch (UnsupportedOperationException e) {
+    } catch (final UnsupportedOperationException e) {
       try {
         final Node impl = getNode(value);
         if (impl instanceof ClassNode) {
@@ -176,7 +176,7 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
         }
         throw new ParseException("Name<" + iface.getFullName() + "> " + 
np.getFullName() +
             " cannot take non-subclass " + impl.getFullName(), e);
-      } catch (NameResolutionException e2) {
+      } catch (final NameResolutionException e2) {
         throw new ParseException("Name<" + iface.getFullName() + "> " + 
np.getFullName() +
             " cannot take non-class " + value, e);
       }
@@ -188,13 +188,13 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
    * ClassHierarchy's classloader.
    */
   @Override
-  public Class<?> classForName(String name) throws ClassNotFoundException {
+  public Class<?> classForName(final String name) throws 
ClassNotFoundException {
     return ReflectionUtilities.classForName(name, loader);
   }
 
-  private <T, U> Node buildPathToNode(Class<U> clazz)
+  private <T, U> Node buildPathToNode(final Class<U> clazz)
       throws ClassHierarchyException {
-    String[] path = clazz.getName().split("\\$");
+    final String[] path = clazz.getName().split("\\$");
 
     Node root = namespace;
     for (int i = 0; i < path.length - 1; i++) {
@@ -204,17 +204,16 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
     if (root == null) {
       throw new NullPointerException();
     }
-    Node parent = root;
+    final Node parent = root;
 
-    Type argType = ReflectionUtilities.getNamedParameterTargetOrNull(clazz);
+    final Type argType = 
ReflectionUtilities.getNamedParameterTargetOrNull(clazz);
 
     if (argType == null) {
       return JavaNodeFactory.createClassNode(parent, clazz);
     } else {
 
-      @SuppressWarnings("unchecked")
       // checked inside of NamedParameterNode, using reflection.
-          NamedParameterNode<T> np = JavaNodeFactory.createNamedParameterNode(
+      @SuppressWarnings("unchecked") final NamedParameterNode<T> np = 
JavaNodeFactory.createNamedParameterNode(
           parent, (Class<? extends Name<T>>) clazz, argType);
 
       if (parameterParser.canParse(ReflectionUtilities.getFullName(argType))) {
@@ -224,9 +223,9 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
         }
       }
 
-      String shortName = np.getShortName();
+      final String shortName = np.getShortName();
       if (shortName != null) {
-        NamedParameterNode<?> oldNode = shortNames.get(shortName);
+        final NamedParameterNode<?> oldNode = shortNames.get(shortName);
         if (oldNode != null) {
           if (oldNode.getFullName().equals(np.getFullName())) {
             throw new IllegalStateException("Tried to double bind "
@@ -242,23 +241,23 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
     }
   }
 
-  private Node getAlreadyBoundNode(Class<?> clazz) throws 
NameResolutionException {
+  private Node getAlreadyBoundNode(final Class<?> clazz) throws 
NameResolutionException {
     return getAlreadyBoundNode(ReflectionUtilities.getFullName(clazz));
   }
 
   @Override
-  public Node getNode(Class<?> clazz) {
+  public Node getNode(final Class<?> clazz) {
     try {
       return getNode(ReflectionUtilities.getFullName(clazz));
-    } catch (NameResolutionException e) {
+    } catch (final NameResolutionException e) {
       throw new ClassHierarchyException("JavaClassHierarchy could not resolve 
" + clazz
           + " which is definitely avalable at runtime", e);
     }
   }
 
   @Override
-  public synchronized Node getNode(String name) throws NameResolutionException 
{
-    Node n = register(name);
+  public synchronized Node getNode(final String name) throws 
NameResolutionException {
+    final Node n = register(name);
     if (n == null) {
       // This will never succeed; it just generates a nice exception.
       getAlreadyBoundNode(name);
@@ -268,10 +267,10 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
     return n;
   }
 
-  private Node getAlreadyBoundNode(String name) throws NameResolutionException 
{
+  private Node getAlreadyBoundNode(final String name) throws 
NameResolutionException {
     Node root = namespace;
-    String[] toks = name.split("\\$");
-    String outerClassName = toks[0];
+    final String[] toks = name.split("\\$");
+    final String outerClassName = toks[0];
     root = root.get(outerClassName);
     if (root == null) {
       throw new NameResolutionException(name, outerClassName);
@@ -279,7 +278,7 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
     for (int i = 1; i < toks.length; i++) {
       root = root.get(toks[i]);
       if (root == null) {
-        StringBuilder sb = new StringBuilder(outerClassName);
+        final StringBuilder sb = new StringBuilder(outerClassName);
         for (int j = 0; j < i; j++) {
           sb.append(toks[j]);
           if (j != i - 1) {
@@ -292,17 +291,17 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
     return root;
   }
 
-  private Node register(String s) {
+  private Node register(final String s) {
     final Class<?> c;
     try {
       c = classForName(s);
-    } catch (ClassNotFoundException e1) {
+    } catch (final ClassNotFoundException e1) {
       return null;
     }
     try {
-      Node n = getAlreadyBoundNode(c);
+      final Node n = getAlreadyBoundNode(c);
       return n;
-    } catch (NameResolutionException e) {
+    } catch (final NameResolutionException e) {
       // node not bound yet
     }
     // First, walk up the class hierarchy, registering all out parents. This
@@ -310,7 +309,7 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
     if (c.getSuperclass() != null) {
       register(ReflectionUtilities.getFullName(c.getSuperclass()));
     }
-    for (Class<?> i : c.getInterfaces()) {
+    for (final Class<?> i : c.getInterfaces()) {
       register(ReflectionUtilities.getFullName(i));
     }
     // Now, we'd like to register our enclosing classes. This turns out to be
@@ -325,28 +324,28 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
     // So, even though grafting arbitrary DAGs together can give us cycles, 
Java
     // seems
     // to have our back on this one.
-    Class<?> enclosing = c.getEnclosingClass();
+    final Class<?> enclosing = c.getEnclosingClass();
     if (enclosing != null) {
       register(ReflectionUtilities.getFullName(enclosing));
     }
 
     // Now register the class. This has to be after the above so we know our
     // parents (superclasses and enclosing packages) are already registered.
-    Node n = registerClass(c);
+    final Node n = registerClass(c);
 
     // Finally, do things that might introduce cycles that invlove c.
     // This has to be below registerClass, which ensures that any cycles
     // this stuff introduces are broken.
-    for (Class<?> innerClass : c.getDeclaredClasses()) {
+    for (final Class<?> innerClass : c.getDeclaredClasses()) {
       register(ReflectionUtilities.getFullName(innerClass));
     }
     if (n instanceof ClassNode) {
-      ClassNode<?> cls = (ClassNode<?>) n;
-      for (ConstructorDef<?> def : cls.getInjectableConstructors()) {
-        for (ConstructorArg arg : def.getArgs()) {
+      final ClassNode<?> cls = (ClassNode<?>) n;
+      for (final ConstructorDef<?> def : cls.getInjectableConstructors()) {
+        for (final ConstructorArg arg : def.getArgs()) {
           register(arg.getType());
           if (arg.getNamedParameterName() != null) {
-            NamedParameterNode<?> np = (NamedParameterNode<?>) register(arg
+            final NamedParameterNode<?> np = (NamedParameterNode<?>) 
register(arg
                 .getNamedParameterName());
             try {
               // TODO: When handling sets, need to track target of generic 
parameter, and check the type here!
@@ -359,7 +358,7 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
                           + np.getFullArgName());
                 }
               }
-            } catch (ClassNotFoundException e) {
+            } catch (final ClassNotFoundException e) {
               throw new ClassHierarchyException("Constructor refers to unknown 
class "
                   + arg.getType(), e);
             }
@@ -367,7 +366,7 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
         }
       }
     } else if (n instanceof NamedParameterNode) {
-      NamedParameterNode<?> np = (NamedParameterNode<?>) n;
+      final NamedParameterNode<?> np = (NamedParameterNode<?>) n;
       register(np.getFullArgName());
     }
     return n;
@@ -386,26 +385,26 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
     }
     try {
       return getAlreadyBoundNode(c);
-    } catch (NameResolutionException e) {
+    } catch (final NameResolutionException e) {
       // node not bound yet
     }
 
     final Node n = buildPathToNode(c);
 
     if (n instanceof ClassNode) {
-      ClassNode<T> cn = (ClassNode<T>) n;
-      Class<T> superclass = (Class<T>) c.getSuperclass();
+      final ClassNode<T> cn = (ClassNode<T>) n;
+      final Class<T> superclass = (Class<T>) c.getSuperclass();
       if (superclass != null) {
         try {
           ((ClassNode<T>) getAlreadyBoundNode(superclass)).putImpl(cn);
-        } catch (NameResolutionException e) {
+        } catch (final NameResolutionException e) {
           throw new IllegalStateException(e);
         }
       }
-      for (Class<?> interf : c.getInterfaces()) {
+      for (final Class<?> interf : c.getInterfaces()) {
         try {
           ((ClassNode<T>) getAlreadyBoundNode(interf)).putImpl(cn);
-        } catch (NameResolutionException e) {
+        } catch (final NameResolutionException e) {
           throw new IllegalStateException(e);
         }
       }
@@ -419,12 +418,12 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
   }
 
   @Override
-  public synchronized boolean isImplementation(ClassNode<?> inter, 
ClassNode<?> impl) {
+  public synchronized boolean isImplementation(final ClassNode<?> inter, final 
ClassNode<?> impl) {
     return impl.isImplementationOf(inter);
   }
 
   @Override
-  public synchronized ClassHierarchy merge(ClassHierarchy ch) {
+  public synchronized ClassHierarchy merge(final ClassHierarchy ch) {
     if (this == ch) {
       return this;
     }
@@ -434,10 +433,10 @@ public class ClassHierarchyImpl implements 
JavaClassHierarchy {
     if (this.jars.size() == 0) {
       return ch;
     }
-    ClassHierarchyImpl chi = (ClassHierarchyImpl) ch;
-    HashSet<URL> otherJars = new HashSet<>();
+    final ClassHierarchyImpl chi = (ClassHierarchyImpl) ch;
+    final HashSet<URL> otherJars = new HashSet<>();
     otherJars.addAll(chi.jars);
-    HashSet<URL> myJars = new HashSet<>();
+    final HashSet<URL> myJars = new HashSet<>();
     myJars.addAll(this.jars);
     if (myJars.containsAll(otherJars)) {
       return this;

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/141c7fa0/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/java/InjectorImpl.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/java/InjectorImpl.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/java/InjectorImpl.java
index 32d15a0..08787ab 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/java/InjectorImpl.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/implementation/java/InjectorImpl.java
@@ -83,46 +83,46 @@ public class InjectorImpl implements Injector {
   private boolean concurrentModificationGuard = false;
   private Aspect aspect;
 
-  public InjectorImpl(Configuration c) throws BindException {
+  public InjectorImpl(final Configuration c) throws BindException {
     this.c = c;
     this.namespace = c.getClassHierarchy();
     this.javaNamespace = (ClassHierarchyImpl) this.namespace;
   }
 
-  private static InjectorImpl copy(InjectorImpl old,
-                                   Configuration... configurations) throws 
BindException {
+  private static InjectorImpl copy(final InjectorImpl old,
+                                   final Configuration... configurations) 
throws BindException {
     final InjectorImpl i;
     try {
       final ConfigurationBuilder cb = old.c.newBuilder();
-      for (Configuration c : configurations) {
+      for (final Configuration c : configurations) {
         cb.addConfiguration(c);
       }
       i = new InjectorImpl(cb.build());
-    } catch (BindException e) {
+    } catch (final BindException e) {
       throw new IllegalStateException(
           "Unexpected error copying configuration!", e);
     }
-    for (ClassNode<?> cn : old.instances.keySet()) {
+    for (final ClassNode<?> cn : old.instances.keySet()) {
       if 
(cn.getFullName().equals(ReflectionUtilities.getFullName(Injector.class))
           || 
cn.getFullName().equals(ReflectionUtilities.getFullName(InjectorImpl.class))) {
         // This would imply that we're treating injector as a singleton 
somewhere.  It should be copied fresh each time.
         throw new IllegalStateException();
       }
       try {
-        ClassNode<?> newCn = (ClassNode<?>) i.namespace.getNode(cn
+        final ClassNode<?> newCn = (ClassNode<?>) i.namespace.getNode(cn
             .getFullName());
         i.instances.put(newCn, old.instances.get(cn));
-      } catch (BindException e) {
+      } catch (final BindException e) {
         throw new IllegalStateException("Could not resolve name "
             + cn.getFullName() + " when copying injector");
       }
     }
     // Copy references to the remaining (which must have been set with
     // bindVolatileParameter())
-    for (NamedParameterNode<?> np : old.namedParameterInstances.keySet()) {
+    for (final NamedParameterNode<?> np : 
old.namedParameterInstances.keySet()) {
       // if (!builder.namedParameters.containsKey(np)) {
-      Object o = old.namedParameterInstances.get(np);
-      NamedParameterNode<?> newNp = (NamedParameterNode<?>) i.namespace
+      final Object o = old.namedParameterInstances.get(np);
+      final NamedParameterNode<?> newNp = (NamedParameterNode<?>) i.namespace
           .getNode(np.getFullName());
       i.namedParameterInstances.put(newNp, o);
     }
@@ -141,11 +141,11 @@ public class InjectorImpl implements Injector {
   }
 
   @SuppressWarnings("unchecked")
-  private <T> T getCachedInstance(ClassNode<T> cn) {
+  private <T> T getCachedInstance(final ClassNode<T> cn) {
     if (cn.getFullName().equals("org.apache.reef.tang.Injector")) {
       return (T) this; // TODO: We should be insisting on injection futures 
here! .forkInjector();
     } else {
-      T t = (T) instances.get(cn);
+      final T t = (T) instances.get(cn);
       if (t instanceof InjectionFuture) {
         throw new IllegalStateException("Found an injection future in 
getCachedInstance: " + cn);
       }
@@ -182,7 +182,7 @@ public class InjectorImpl implements Injector {
       constructorList
           .addAll(Arrays.asList(thisCN.getInjectableConstructors()));
 
-      for (ConstructorDef<T> def : constructorList) {
+      for (final ConstructorDef<T> def : constructorList) {
         final List<InjectionPlan<?>> args = new ArrayList<InjectionPlan<?>>();
         final ConstructorArg[] defArgs = def.getArgs();
 
@@ -192,7 +192,7 @@ public class InjectorImpl implements Injector {
               final Node argNode = namespace.getNode(arg.getName());
               buildInjectionPlan(argNode, memo);
               args.add(memo.get(argNode));
-            } catch (NameResolutionException e) {
+            } catch (final NameResolutionException e) {
               throw new IllegalStateException("Detected unresolvable "
                   + "constructor arg while building injection plan.  "
                   + "This should have been caught earlier!", e);
@@ -201,7 +201,7 @@ public class InjectorImpl implements Injector {
             try {
               args.add(new InjectionFuturePlan<>(namespace.getNode(arg
                   .getName())));
-            } catch (NameResolutionException e) {
+            } catch (final NameResolutionException e) {
               throw new IllegalStateException("Detected unresolvable "
                   + "constructor arg while building injection plan.  "
                   + "This should have been caught earlier!", e);
@@ -252,12 +252,12 @@ public class InjectorImpl implements Injector {
   }
 
   @SuppressWarnings("unchecked")
-  private <T> InjectionPlan<T> buildClassNodeInjectionPlan(ClassNode<T> cn,
-                                                           T cachedInstance,
-                                                           
ClassNode<ExternalConstructor<T>> externalConstructor,
-                                                           ClassNode<T> 
boundImpl,
-                                                           ClassNode<T> 
defaultImpl,
-                                                           Map<Node, 
InjectionPlan<?>> memo) {
+  private <T> InjectionPlan<T> buildClassNodeInjectionPlan(final ClassNode<T> 
cn,
+                                                           final T 
cachedInstance,
+                                                           final 
ClassNode<ExternalConstructor<T>> externalConstructor,
+                                                           final ClassNode<T> 
boundImpl,
+                                                           final ClassNode<T> 
defaultImpl,
+                                                           final Map<Node, 
InjectionPlan<?>> memo) {
 
     if (cachedInstance != null) {
       return new JavaInstance<T>(cn, cachedInstance);
@@ -287,10 +287,10 @@ public class InjectorImpl implements Injector {
   }
 
   @SuppressWarnings("unchecked")
-  private <T> InjectionPlan<T> wrapInjectionPlans(ClassNode<T> infeasibleNode,
-                                                  List<? extends 
InjectionPlan<T>> list,
-                                                  boolean forceAmbiguous,
-                                                  int selectedIndex) {
+  private <T> InjectionPlan<T> wrapInjectionPlans(final ClassNode<T> 
infeasibleNode,
+                                                  final List<? extends 
InjectionPlan<T>> list,
+                                                  final boolean forceAmbiguous,
+                                                  final int selectedIndex) {
     if (list.size() == 0) {
       return new Subplan<>(infeasibleNode);
     } else if ((!forceAmbiguous) && list.size() == 1) {
@@ -307,18 +307,18 @@ public class InjectorImpl implements Injector {
    * @throws ParseException
    */
   @SuppressWarnings("unchecked")
-  private <T> T parseBoundNamedParameter(NamedParameterNode<T> np) {
+  private <T> T parseBoundNamedParameter(final NamedParameterNode<T> np) {
     final T ret;
 
     @SuppressWarnings("rawtypes")
     final Set<Object> boundSet = c.getBoundSet((NamedParameterNode) np);
     if (!boundSet.isEmpty()) {
-      Set<T> ret2 = new MonotonicSet<>();
-      for (Object o : boundSet) {
+      final Set<T> ret2 = new MonotonicSet<>();
+      for (final Object o : boundSet) {
         if (o instanceof String) {
           try {
             ret2.add(javaNamespace.parse(np, (String) o));
-          } catch (ParseException e) {
+          } catch (final ParseException e) {
             // Parsability is now pre-checked in bindSet, so it should not be 
reached!
             throw new IllegalStateException("Could not parse " + o + " which 
was passed into " + np +
                 " FIXME: Parsability is not currently checked by 
bindSetEntry(Node,String)");
@@ -334,12 +334,12 @@ public class InjectorImpl implements Injector {
     }
     final List<Object> boundList = c.getBoundList((NamedParameterNode) np);
     if (boundList != null) {
-      List<T> ret2 = new ArrayList<>();
-      for (Object o : boundList) {
+      final List<T> ret2 = new ArrayList<>();
+      for (final Object o : boundList) {
         if (o instanceof String) {
           try {
             ret2.add(javaNamespace.parse(np, (String) o));
-          } catch (ParseException e) {
+          } catch (final ParseException e) {
             // Parsability is now pre-checked in bindList, so it should not be 
reached!
             throw new IllegalStateException("Could not parse " + o + " which 
was passed into " + np + " FIXME: " +
                 "Parsability is not currently checked by bindList(Node,List)");
@@ -362,7 +362,7 @@ public class InjectorImpl implements Injector {
         try {
           ret = javaNamespace.parse(np, value);
           namedParameterInstances.put(np, ret);
-        } catch (BindException e) {
+        } catch (final BindException e) {
           throw new IllegalStateException(
               "Could not parse pre-validated value", e);
         }
@@ -372,7 +372,7 @@ public class InjectorImpl implements Injector {
   }
 
   @SuppressWarnings("unchecked")
-  private <T> ClassNode<T> parseDefaultImplementation(ClassNode<T> cn) {
+  private <T> ClassNode<T> parseDefaultImplementation(final ClassNode<T> cn) {
     if (cn.getDefaultImplementation() != null) {
       try {
         return (ClassNode<T>) 
javaNamespace.getNode(cn.getDefaultImplementation());
@@ -387,11 +387,11 @@ public class InjectorImpl implements Injector {
 
   @SuppressWarnings({"unchecked"})
   private <T> void buildInjectionPlan(final Node n,
-                                      Map<Node, InjectionPlan<?>> memo) {
+                                      final Map<Node, InjectionPlan<?>> memo) {
     if (memo.containsKey(n)) {
       if (BUILDING == memo.get(n)) {
-        StringBuilder loopyList = new StringBuilder("[");
-        for (Node node : memo.keySet()) {
+        final StringBuilder loopyList = new StringBuilder("[");
+        for (final Node node : memo.keySet()) {
           if (memo.get(node) == BUILDING) {
             loopyList.append(" " + node.getFullName());
           }
@@ -416,9 +416,9 @@ public class InjectorImpl implements Injector {
         buildInjectionPlan((Node) instance, memo);
         ip = new Subplan<T>(n, 0, (InjectionPlan<T>) memo.get(instance));
       } else if (instance instanceof Set) {
-        Set<T> entries = (Set<T>) instance;
-        Set<InjectionPlan<T>> plans = new MonotonicHashSet<>();
-        for (T entry : entries) {
+        final Set<T> entries = (Set<T>) instance;
+        final Set<InjectionPlan<T>> plans = new MonotonicHashSet<>();
+        for (final T entry : entries) {
           if (entry instanceof ClassNode) {
             buildInjectionPlan((ClassNode<?>) entry, memo);
             plans.add((InjectionPlan<T>) memo.get(entry));
@@ -429,9 +429,9 @@ public class InjectorImpl implements Injector {
         }
         ip = new SetInjectionPlan<T>(n, plans);
       } else if (instance instanceof List) {
-        List<T> entries = (List<T>) instance;
-        List<InjectionPlan<T>> plans = new ArrayList<>();
-        for (T entry : entries) {
+        final List<T> entries = (List<T>) instance;
+        final List<InjectionPlan<T>> plans = new ArrayList<>();
+        for (final T entry : entries) {
           if (entry instanceof ClassNode) {
             buildInjectionPlan((ClassNode<?>) entry, memo);
             plans.add((InjectionPlan<T>) memo.get(entry));
@@ -471,56 +471,55 @@ public class InjectorImpl implements Injector {
    * @throws NameResolutionException
    */
   public InjectionPlan<?> getInjectionPlan(final Node n) {
-    Map<Node, InjectionPlan<?>> memo = new HashMap<>();
+    final Map<Node, InjectionPlan<?>> memo = new HashMap<>();
     buildInjectionPlan(n, memo);
     return memo.get(n);
   }
 
   @Override
-  public InjectionPlan<?> getInjectionPlan(String name) throws 
NameResolutionException {
+  public InjectionPlan<?> getInjectionPlan(final String name) throws 
NameResolutionException {
     return getInjectionPlan(namespace.getNode(name));
   }
 
   @SuppressWarnings("unchecked")
-  public <T> InjectionPlan<T> getInjectionPlan(Class<T> name) {
+  public <T> InjectionPlan<T> getInjectionPlan(final Class<T> name) {
     return (InjectionPlan<T>) getInjectionPlan(javaNamespace.getNode(name));
   }
 
   @Override
-  public boolean isInjectable(String name) throws NameResolutionException {
+  public boolean isInjectable(final String name) throws 
NameResolutionException {
     return getInjectionPlan(namespace.getNode(name)).isInjectable();
   }
 
   @Override
-  public boolean isInjectable(Class<?> clazz) {
+  public boolean isInjectable(final Class<?> clazz) {
     try {
       return isInjectable(ReflectionUtilities.getFullName(clazz));
-    } catch (NameResolutionException e) {
+    } catch (final NameResolutionException e) {
       throw new IllegalStateException("Could not round trip " + clazz + " 
through ClassHierarchy", e);
     }
   }
 
   @Override
-  public boolean isParameterSet(String name) throws NameResolutionException {
-    InjectionPlan<?> p = getInjectionPlan(namespace.getNode(name));
+  public boolean isParameterSet(final String name) throws 
NameResolutionException {
+    final InjectionPlan<?> p = getInjectionPlan(namespace.getNode(name));
     return p.isInjectable();
   }
 
   @Override
-  public boolean isParameterSet(Class<? extends Name<?>> name)
+  public boolean isParameterSet(final Class<? extends Name<?>> name)
       throws BindException {
     return isParameterSet(name.getName());
   }
 
-  private <U> U getInstance(Node n) throws InjectionException {
+  private <U> U getInstance(final Node n) throws InjectionException {
     assertNotConcurrent();
-    @SuppressWarnings("unchecked")
-    InjectionPlan<U> plan = (InjectionPlan<U>) getInjectionPlan(n);
-    U u = (U) injectFromPlan(plan);
+    @SuppressWarnings("unchecked") final InjectionPlan<U> plan = 
(InjectionPlan<U>) getInjectionPlan(n);
+    final U u = (U) injectFromPlan(plan);
 
     while (!pendingFutures.isEmpty()) {
-      Iterator<InjectionFuture<?>> i = pendingFutures.iterator();
-      InjectionFuture<?> f = i.next();
+      final Iterator<InjectionFuture<?>> i = pendingFutures.iterator();
+      final InjectionFuture<?> f = i.next();
       pendingFutures.remove(f);
       f.get();
     }
@@ -528,7 +527,7 @@ public class InjectorImpl implements Injector {
   }
 
   @Override
-  public <U> U getInstance(Class<U> clazz) throws InjectionException {
+  public <U> U getInstance(final Class<U> clazz) throws InjectionException {
     if (Name.class.isAssignableFrom(clazz)) {
       throw new InjectionException("getInstance() called on Name "
           + ReflectionUtilities.getFullName(clazz)
@@ -539,30 +538,29 @@ public class InjectorImpl implements Injector {
 
   @SuppressWarnings("unchecked")
   @Override
-  public <U> U getInstance(String clazz) throws InjectionException, 
NameResolutionException {
+  public <U> U getInstance(final String clazz) throws InjectionException, 
NameResolutionException {
     return (U) getInstance(namespace.getNode(clazz));
   }
 
   @Override
   @SuppressWarnings("unchecked")
-  public <T> T getNamedInstance(Class<? extends Name<T>> clazz)
+  public <T> T getNamedInstance(final Class<? extends Name<T>> clazz)
       throws InjectionException {
     return (T) getInstance(javaNamespace.getNode(clazz));
   }
 
-  public <T> T getNamedParameter(Class<? extends Name<T>> clazz)
+  public <T> T getNamedParameter(final Class<? extends Name<T>> clazz)
       throws InjectionException {
     return getNamedInstance(clazz);
   }
 
   private <T> java.lang.reflect.Constructor<T> getConstructor(
-      ConstructorDef<T> constructor) throws ClassNotFoundException,
+      final ConstructorDef<T> constructor) throws ClassNotFoundException,
       NoSuchMethodException, SecurityException {
-    @SuppressWarnings("unchecked")
-    Class<T> clazz = (Class<T>) javaNamespace.classForName(constructor
-        .getClassName());
-    ConstructorArg[] args = constructor.getArgs();
-    Class<?>[] parameterTypes = new Class[args.length];
+    @SuppressWarnings("unchecked") final Class<T> clazz =
+        (Class<T>) javaNamespace.classForName(constructor.getClassName());
+    final ConstructorArg[] args = constructor.getArgs();
+    final Class<?>[] parameterTypes = new Class[args.length];
     for (int i = 0; i < args.length; i++) {
       if (args[i].isInjectionFuture()) {
         parameterTypes[i] = InjectionFuture.class;
@@ -570,7 +568,7 @@ public class InjectorImpl implements Injector {
         parameterTypes[i] = javaNamespace.classForName(args[i].getType());
       }
     }
-    java.lang.reflect.Constructor<T> cons = clazz
+    final java.lang.reflect.Constructor<T> cons = clazz
         .getDeclaredConstructor(parameterTypes);
     cons.setAccessible(true);
     return cons;
@@ -594,7 +592,7 @@ public class InjectorImpl implements Injector {
    * @throws InjectionException
    */
   @SuppressWarnings("unchecked")
-  private <T> T injectFromPlan(InjectionPlan<T> plan) throws 
InjectionException {
+  private <T> T injectFromPlan(final InjectionPlan<T> plan) throws 
InjectionException {
 
     if (!plan.isFeasible()) {
       throw new InjectionException("Cannot inject " + 
plan.getNode().getFullName() + ": "
@@ -605,13 +603,14 @@ public class InjectorImpl implements Injector {
           + plan.toCantInjectString());
     }
     if (plan instanceof InjectionFuturePlan) {
-      InjectionFuturePlan<T> fut = (InjectionFuturePlan<T>) plan;
+      final InjectionFuturePlan<T> fut = (InjectionFuturePlan<T>) plan;
       final String key = fut.getNode().getFullName();
       try {
-        InjectionFuture<?> ret = new InjectionFuture<>(this, 
javaNamespace.classForName(fut.getNode().getFullName()));
+        final InjectionFuture<?> ret = new InjectionFuture<>(
+            this, javaNamespace.classForName(fut.getNode().getFullName()));
         pendingFutures.add(ret);
         return (T) ret;
-      } catch (ClassNotFoundException e) {
+      } catch (final ClassNotFoundException e) {
         throw new InjectionException("Could not get class for " + key);
       }
     } else if (plan.getNode() instanceof ClassNode && null != 
getCachedInstance((ClassNode<T>) plan.getNode())) {
@@ -632,18 +631,18 @@ public class InjectorImpl implements Injector {
         concurrentModificationGuard = true;
         T ret;
         try {
-          ConstructorDef<T> def = (ConstructorDef<T>) 
constructor.getConstructorDef();
-          java.lang.reflect.Constructor<T> construct = getConstructor(def);
+          final ConstructorDef<T> def = (ConstructorDef<T>) 
constructor.getConstructorDef();
+          final java.lang.reflect.Constructor<T> construct = 
getConstructor(def);
 
           if (aspect != null) {
             ret = aspect.inject(def, construct, args);
           } else {
             ret = construct.newInstance(args);
           }
-        } catch (IllegalArgumentException e) {
-          StringBuilder sb = new StringBuilder("Internal Tang error?  Could 
not call constructor " +
+        } catch (final IllegalArgumentException e) {
+          final StringBuilder sb = new StringBuilder("Internal Tang error?  
Could not call constructor " +
               constructor.getConstructorDef() + " with arguments [");
-          for (Object o : args) {
+          for (final Object o : args) {
             sb.append("\n\t" + o);
           }
           sb.append("]");
@@ -654,26 +653,26 @@ public class InjectorImpl implements Injector {
         }
         instances.put(constructor.getNode(), ret);
         return ret;
-      } catch (ReflectiveOperationException e) {
+      } catch (final ReflectiveOperationException e) {
         throw new InjectionException("Could not invoke constructor: " + plan,
             e instanceof InvocationTargetException ? e.getCause() : e);
       } finally {
         concurrentModificationGuard = false;
       }
     } else if (plan instanceof Subplan) {
-      Subplan<T> ambiguous = (Subplan<T>) plan;
+      final Subplan<T> ambiguous = (Subplan<T>) plan;
       return injectFromPlan(ambiguous.getDelegatedPlan());
     } else if (plan instanceof SetInjectionPlan) {
-      SetInjectionPlan<T> setPlan = (SetInjectionPlan<T>) plan;
-      Set<T> ret = new MonotonicHashSet<>();
-      for (InjectionPlan<T> subplan : setPlan.getEntryPlans()) {
+      final SetInjectionPlan<T> setPlan = (SetInjectionPlan<T>) plan;
+      final Set<T> ret = new MonotonicHashSet<>();
+      for (final InjectionPlan<T> subplan : setPlan.getEntryPlans()) {
         ret.add(injectFromPlan(subplan));
       }
       return (T) ret;
     } else if (plan instanceof ListInjectionPlan) {
-      ListInjectionPlan<T> listPlan = (ListInjectionPlan<T>) plan;
-      List<T> ret = new ArrayList<>();
-      for (InjectionPlan<T> subplan : listPlan.getEntryPlans()) {
+      final ListInjectionPlan<T> listPlan = (ListInjectionPlan<T>) plan;
+      final List<T> ret = new ArrayList<>();
+      for (final InjectionPlan<T> subplan : listPlan.getEntryPlans()) {
         ret.add(injectFromPlan(subplan));
       }
       return (T) ret;
@@ -683,22 +682,22 @@ public class InjectorImpl implements Injector {
   }
 
   @Override
-  public <T> void bindVolatileInstance(Class<T> cl, T o) throws BindException {
+  public <T> void bindVolatileInstance(final Class<T> cl, final T o) throws 
BindException {
     bindVolatileInstanceNoCopy(cl, o);
   }
 
   @Override
-  public <T> void bindVolatileParameter(Class<? extends Name<T>> cl, T o)
+  public <T> void bindVolatileParameter(final Class<? extends Name<T>> cl, 
final T o)
       throws BindException {
     bindVolatileParameterNoCopy(cl, o);
   }
 
-  <T> void bindVolatileInstanceNoCopy(Class<T> cl, T o) throws BindException {
+  <T> void bindVolatileInstanceNoCopy(final Class<T> cl, final T o) throws 
BindException {
     assertNotConcurrent();
-    Node n = javaNamespace.getNode(cl);
+    final Node n = javaNamespace.getNode(cl);
     if (n instanceof ClassNode) {
-      ClassNode<?> cn = (ClassNode<?>) n;
-      Object old = getCachedInstance(cn);
+      final ClassNode<?> cn = (ClassNode<?>) n;
+      final Object old = getCachedInstance(cn);
       if (old != null) {
         throw new BindException("Attempt to re-bind instance.  Old value was "
             + old + " new value is " + o);
@@ -710,12 +709,12 @@ public class InjectorImpl implements Injector {
     }
   }
 
-  <T> void bindVolatileParameterNoCopy(Class<? extends Name<T>> cl, T o)
+  <T> void bindVolatileParameterNoCopy(final Class<? extends Name<T>> cl, 
final T o)
       throws BindException {
-    Node n = javaNamespace.getNode(cl);
+    final Node n = javaNamespace.getNode(cl);
     if (n instanceof NamedParameterNode) {
-      NamedParameterNode<?> np = (NamedParameterNode<?>) n;
-      Object old = this.c.getNamedParameter(np);
+      final NamedParameterNode<?> np = (NamedParameterNode<?>) n;
+      final Object old = this.c.getNamedParameter(np);
       if (old != null) {
         // XXX need to get the binding site here!
         throw new BindException(
@@ -724,7 +723,7 @@ public class InjectorImpl implements Injector {
       }
       try {
         namedParameterInstances.put(np, o);
-      } catch (IllegalArgumentException e) {
+      } catch (final IllegalArgumentException e) {
         throw new BindException(
             "Attempt to re-bind named parameter " + 
ReflectionUtilities.getFullName(cl) + ".  Old value was [" + old
                 + "] new value is [" + o + "]");
@@ -740,21 +739,21 @@ public class InjectorImpl implements Injector {
   public Injector forkInjector() {
     try {
       return forkInjector(new Configuration[0]);
-    } catch (BindException e) {
+    } catch (final BindException e) {
       throw new IllegalStateException(e);
     }
   }
 
   @Override
-  public Injector forkInjector(Configuration... configurations)
+  public Injector forkInjector(final Configuration... configurations)
       throws BindException {
-    InjectorImpl ret;
+    final InjectorImpl ret;
     ret = copy(this, configurations);
     return ret;
   }
 
   @Override
-  public <T> void bindAspect(Aspect a) throws BindException {
+  public <T> void bindAspect(final Aspect a) throws BindException {
     if (aspect != null) {
       throw new BindException("Attempt to re-bind aspect! old=" + aspect + " 
new=" + a);
     }

Reply via email to