private Map<String, String> getMethodMap(String className) {
   if (!methodNameMaps.containsKey(className) && !negativeCacheMethods.contains(className)) {
     findAndMergeSuperMaps(className);
     if (!methodNameMaps.containsKey(className)) {
       negativeCacheMethods.add(className);
     }
     if (DUMP_METHOD_MAPS) {
       FMLRelaunchLog.finer("Method map for %s : %s", className, methodNameMaps.get(className));
     }
   }
   return methodNameMaps.get(className);
 }
  private Map<String, String> getFieldMap(String className) {
    if (!fieldNameMaps.containsKey(className) && !negativeCacheFields.contains(className)) {
      findAndMergeSuperMaps(className);
      if (!fieldNameMaps.containsKey(className)) {
        negativeCacheFields.add(className);
      }

      if (DUMP_FIELD_MAPS) {
        FMLRelaunchLog.finer("Field map for %s : %s", className, fieldNameMaps.get(className));
      }
    }
    return fieldNameMaps.get(className);
  }