diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc
index e2da877..d1142e7 100644
--- a/compiler/cpp/src/generate/t_java_generator.cc
+++ b/compiler/cpp/src/generate/t_java_generator.cc
@@ -396,22 +396,13 @@
   }
   f_enum << ";" << endl << endl;
 
-  indent(f_enum) << "private static final Map<Integer, "+ tenum->get_name() +
-    "> BY_VALUE = new HashMap<Integer,"+ tenum->get_name() +">() {{" << endl;
-  indent(f_enum) << "  for("+ tenum->get_name() +" val : "+ tenum->get_name() +".values()) {" << endl;
-  indent(f_enum) << "    put(val.getValue(), val);" << endl;
-  indent(f_enum) << "  }" << endl;
-  indent(f_enum) << "}};" << endl;
-
-  f_enum << endl;
-
   // Field for thriftCode
   indent(f_enum) << "private final int value;" << endl << endl;
 
   indent(f_enum) << "private " << tenum->get_name() << "(int value) {" << endl;
   indent(f_enum) << "  this.value = value;" <<endl;
   indent(f_enum) << "}" << endl << endl;
- 
+
   indent(f_enum) << "/**" << endl;
   indent(f_enum) << " * Get the integer value of this enum value, as defined in the Thrift IDL." << endl;
   indent(f_enum) << " */" << endl;
@@ -424,7 +415,34 @@
   indent(f_enum) << " * @return null if the value is not found." << endl;
   indent(f_enum) << " */" << endl;
   indent(f_enum) << "public static "+ tenum->get_name() + " findByValue(int value) { " << endl;
-  indent(f_enum) << "  return BY_VALUE.get(value);" << endl;
+
+  indent_up();
+
+  indent(f_enum) << "switch (value) {" << endl;
+  indent_up();
+
+  value = -1;
+
+  for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
+    if ((*c_iter)->has_value()) {
+      value = (*c_iter)->get_value();
+    } else {
+      ++value;
+    }
+
+    indent(f_enum) << "case " << value << ":" << endl;
+    indent(f_enum) << "  return " << (*c_iter)->get_name() << ";" << endl;
+  }
+  
+  indent(f_enum) << "default:" << endl;
+  indent(f_enum) << "  return null;" << endl;  
+
+  indent_down();
+
+  indent(f_enum) << "}" << endl;
+  
+  indent_down();
+
   indent(f_enum) << "}" << endl;
 
   scope_down(f_enum);
