final Map<ClassInfo, Deque<ClassReplacementDef>> replacementDefByClassMap)
throws ConversionException {
final Deque<ClassReplacementDef> classReplacementDefList = new LinkedList<ClassReplacementDef>();
ConversionDefForClass intermediateConversionDef = originalConversionDef;
final ClassInfo originalClassInfo = originalConversionDef
.getClassInfo();
final Deque<ClassReplacementDef> previousClassReplacementDef = replacementDefByClassMap
.put(originalClassInfo, classReplacementDefList);
do {
final ClassInfo originalClass = intermediateConversionDef
.getClassInfo();
final ClassInfo replacementClass = intermediateConversionDef
.getReplacementClass();
final FieldConversionMap fieldConversionMap = intermediateConversionDef
.getFieldConversionMap();
final FieldConversionMap staticFieldConversionMap = intermediateConversionDef
.getStaticFieldConversionMap();
final ClassInfo converterClass = intermediateConversionDef
.getConverterClass();
final ClassInfo staticConverterClass = intermediateConversionDef
.getStaticConverterClass();
final ClassReplacementDef classReplacementDef = new ClassReplacementDef(
/**/originalClass, replacementClass, converterClass,
staticConverterClass, fieldConversionMap,