fieldWriteReferences.put(fieldEntry.getKey(), new FieldReference(hierarchyLoop, fieldEntry.getKey(), fieldEntry.getValue().iterator().next().getReference()));
if(fieldEntry.getValue().iterator().next().getConverter() != null){
converters.put(fieldEntry.getKey(), fieldEntry.getValue().iterator().next().getConverter());
}
}
<BUG>for (Map.Entry<String, Collection<ASTReference<ASTMethod>>> methodEntry : defaultWriteMethods.entrySet()) {
</BUG>
methodWriteReferences.put(methodEntry.getKey(), new MethodReference(astType, hierarchyLoop, methodEntry.getKey(), methodEntry.getValue().iterator().next().getReference().getParameters().iterator().next().getASTType(), methodEntry.getValue().iterator().next().getReference()));
if(methodEntry.getValue().iterator().next().getConverter() != null){
converters.put(methodEntry.getKey(), methodEntry.getValue().iterator().next().getConverter());

fieldWriteReferences.put(fieldEntry.getKey(), new FieldReference(hierarchyLoop, fieldEntry.getKey(), fieldEntry.getValue().iterator().next().getReference()));
if(fieldEntry.getValue().iterator().next().getConverter() != null){
converters.put(fieldEntry.getKey(), fieldEntry.getValue().iterator().next().getConverter());
}
}
for (Map.Entry<String, Collection<ASTReference<ASTMethod>>> methodEntry : propertyReadMethods.asMap().entrySet()) {
readReferences.put(methodEntry.getKey(), new MethodReference(astType, hierarchyLoop, methodEntry.getKey(), methodEntry.getValue().iterator().next().getReference().getReturnType(), methodEntry.getValue().iterator().next().getReference()));
if(methodEntry.getValue().iterator().next().getConverter() != null){
converters.put(methodEntry.getKey(), methodEntry.getValue().iterator().next().getConverter());
