when adding a new substitution a - > b to the map , we need to check if there are already any existing substitutions , say c - > a , and if so , replace them appropriately , in this case with c - > b . this method allows subclasses to perform substitution on a value in the substitution map b in the example above . subclasses may need to override this if the keys and values are not the same object . concode_field_sep Map<ClassType,ClassType> substClassTypeCache concode_elem_sep Map<CacheTypeWrapper,Type> cache concode_elem_sep Type t concode_elem_sep Map<Formal,Actual> subst concode_elem_sep long readObjectVersionUID concode_elem_sep long serialVersionUID concode_elem_sep long writeObjectVersionUID concode_elem_sep ParamTypeSystem<Formal,Actual> ts concode_field_sep void cachePut concode_elem_sep ClassType substClassTypeImpl concode_elem_sep T substMethod concode_elem_sep CacheTypeWrapper typeWrapper concode_elem_sep List<T> substConstructorList concode_elem_sep T transform concode_elem_sep T transform concode_elem_sep T transform concode_elem_sep T transform concode_elem_sep Map<Formal,Actual> substitutions concode_elem_sep T substConstructor concode_elem_sep int hashCode concode_elem_sep int hashCode concode_elem_sep ClassType substClassType concode_elem_sep boolean cacheTypeEquality concode_elem_sep ReferenceType substContainer concode_elem_sep List<T> substMethodList concode_elem_sep Type cacheGet concode_elem_sep List<T> substTypeList concode_elem_sep void writeObject concode_elem_sep Type substType concode_elem_sep void readObject concode_elem_sep Iterator<Entry<Formal,Actual>> entries concode_elem_sep ParamTypeSystem<Formal,Actual> typeSystem concode_elem_sep PClass<Formal,Actual> substPClass concode_elem_sep boolean equals concode_elem_sep boolean equals concode_elem_sep List<T> substFieldList concode_elem_sep Type uncachedSubstType concode_elem_sep Iterable<Entry<Formal,Actual>> is_entry concode_elem_sep String toString concode_elem_sep String toString concode_elem_sep T substField