final Body body = ((Body) model);
EList<ClassCloner> _cloners = body.getCloners();
int _size = _cloners.size();
Assert.assertEquals(3, _size);
EList<ClassCloner> _cloners_1 = body.getCloners();
ClassCloner _get = _cloners_1.get(0);
JvmTypeReference _classToClone = _get.getClassToClone();
String _qualifiedName = _classToClone.getQualifiedName();
Assert.assertEquals("a.b.m.Book", _qualifiedName);
EList<ClassCloner> _cloners_2 = body.getCloners();
ClassCloner _get_1 = _cloners_2.get(0);
String _name = _get_1.getName();
Assert.assertEquals(null, _name);
EList<ClassCloner> _cloners_3 = body.getCloners();
ClassCloner _get_2 = _cloners_3.get(1);
JvmTypeReference _classToClone_1 = _get_2.getClassToClone();
String _qualifiedName_1 = _classToClone_1.getQualifiedName();
Assert.assertEquals("a.b.m.Section", _qualifiedName_1);
EList<ClassCloner> _cloners_4 = body.getCloners();
ClassCloner _get_3 = _cloners_4.get(1);
String _name_1 = _get_3.getName();
Assert.assertEquals("SectionDeep", _name_1);
EList<ClassCloner> _cloners_5 = body.getCloners();
ClassCloner _get_4 = _cloners_5.get(2);
JvmTypeReference _classToClone_2 = _get_4.getClassToClone();
String _qualifiedName_2 = _classToClone_2.getQualifiedName();
Assert.assertEquals("a.b.m.Section", _qualifiedName_2);
EList<ClassCloner> _cloners_6 = body.getCloners();
ClassCloner _get_5 = _cloners_6.get(2);
String _name_2 = _get_5.getName();
Assert.assertEquals("SectionReduced", _name_2);
EList<ClassCloner> _cloners_7 = body.getCloners();
final ClassCloner bookCloner = _cloners_7.get(0);
EList<FieldClonerType> _fields = bookCloner.getFields();
int _size_1 = _fields.size();
Assert.assertEquals(3, _size_1);
EList<FieldClonerType> _fields_1 = bookCloner.getFields();
FieldClonerType _get_6 = _fields_1.get(0);
String _fieldName = ((SimpleField) _get_6).getFieldName();
Assert.assertEquals("name", _fieldName);
EList<FieldClonerType> _fields_2 = bookCloner.getFields();
FieldClonerType _get_7 = _fields_2.get(1);
String _fieldName_1 = ((SimpleExcludedField) _get_7).getFieldName();
Assert.assertEquals("author", _fieldName_1);
EList<FieldClonerType> _fields_3 = bookCloner.getFields();
FieldClonerType _get_8 = _fields_3.get(2);
String _fieldName_2 = ((ReferenceField) _get_8).getFieldName();
Assert.assertEquals("section", _fieldName_2);
EList<FieldClonerType> _fields_4 = bookCloner.getFields();
FieldClonerType _get_9 = _fields_4.get(2);
final ReferenceField clonerReferenceField = ((ReferenceField) _get_9);
ClassCloner _clonerReference = clonerReferenceField.getClonerReference();
String _name_3 = _clonerReference.getName();
Assert.assertEquals("SectionDeep", _name_3);
ClassCloner _clonerReference_1 = clonerReferenceField.getClonerReference();
JvmTypeReference _classToClone_3 = _clonerReference_1.getClassToClone();
String _qualifiedName_3 = _classToClone_3.getQualifiedName();
Assert.assertEquals("a.b.m.Section", _qualifiedName_3);
EList<FieldClonerType> _fields_5 = bookCloner.getFields();
FieldClonerType _get_10 = _fields_5.get(2);
ClassCloner _clonerReference_2 = ((ReferenceField) _get_10).getClonerReference();
EList<FieldClonerType> _fields_6 = _clonerReference_2.getFields();
FieldClonerType _get_11 = _fields_6.get(1);
String _fieldName_3 = ((SimpleField) _get_11).getFieldName();
Assert.assertEquals("description", _fieldName_3);
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);