public static TypeNameIdResolver construct(
     MapperConfig<?> paramMapperConfig,
     JavaType paramJavaType,
     Collection<NamedType> paramCollection,
     boolean paramBoolean1,
     boolean paramBoolean2) {
   if (paramBoolean1 == paramBoolean2) throw new IllegalArgumentException();
   HashMap localHashMap1 = null;
   if (paramBoolean1) localHashMap1 = new HashMap();
   HashMap localHashMap2 = null;
   if (paramBoolean2) localHashMap2 = new HashMap();
   if (paramCollection != null) {
     Iterator localIterator = paramCollection.iterator();
     if (localIterator.hasNext()) {
       NamedType localNamedType = (NamedType) localIterator.next();
       Class localClass = localNamedType.getType();
       if (localNamedType.hasName()) ;
       for (String str = localNamedType.getName(); ; str = _defaultTypeId(localClass)) {
         if (paramBoolean1) localHashMap1.put(localClass.getName(), str);
         if (!paramBoolean2) break;
         JavaType localJavaType = (JavaType) localHashMap2.get(str);
         if ((localJavaType != null) && (localClass.isAssignableFrom(localJavaType.getRawClass())))
           break;
         localHashMap2.put(str, paramMapperConfig.constructType(localClass));
         break;
       }
     }
   }
   return new TypeNameIdResolver(paramMapperConfig, paramJavaType, localHashMap1, localHashMap2);
 }
 protected TypeNameIdResolver(
     MapperConfig<?> paramMapperConfig,
     JavaType paramJavaType,
     HashMap<String, String> paramHashMap,
     HashMap<String, JavaType> paramHashMap1) {
   super(paramJavaType, paramMapperConfig.getTypeFactory());
   this._config = paramMapperConfig;
   this._typeToId = paramHashMap;
   this._idToType = paramHashMap1;
 }