public static <ET extends Enum<ET>>EnumResolver<ET> constructUsingToString(Class<ET> enumCls){
  ET[] enumValues=enumCls.getEnumConstants();
  HashMap<String,ET> map=new HashMap<String,ET>();
  for (int i=enumValues.length; --i >= 0; ) {
    ET e=enumValues[i];
    map.put(e.toString(),e);
  }
  return new EnumResolver<ET>(enumCls,enumValues,map);
}

public static < ET extends Enum < ET > > EnumResolver < ET > constructUsingToString ( Class < ET > enumCls ) { ET [ ] enumValues = enumCls . getEnumConstants ( ) ; HashMap < String , ET > map = new HashMap < String , ET > ( ) ; for ( int i = enumValues . length ; -- i >= 0 ; ) { ET e = enumValues [ i ] ; map . put ( e . toString ( ) , e ) ; } return new EnumResolver < ET > ( enumCls , enumValues , map ) ; }
factory method for constructing resolver that maps from enum . tostring ( ) into enum value
