private Association createAssociation(final Field field, final NavigationProperty navProperty) {
Association association = new Association();
EdmNavigationProperty navigation = field.getAnnotation(EdmNavigationProperty.class);
AssociationEnd fromEnd = new AssociationEnd();
fromEnd.setRole(navProperty.getFromRole());
String typeName = ANNOTATION_HELPER.extractEntityTypeName(field.getDeclaringClass());
fromEnd.setType(new FullQualifiedName(namespace, typeName));
fromEnd.setMultiplicity(EdmMultiplicity.ONE);
association.setEnd1(fromEnd);
AssociationEnd toEnd = new AssociationEnd();
toEnd.setRole(navProperty.getToRole());
String toTypeName = ANNOTATION_HELPER.extractEntitTypeName(navigation, field);
toEnd.setType(new FullQualifiedName(namespace, toTypeName));
toEnd.setMultiplicity(ANNOTATION_HELPER.getMultiplicity(navigation, field));
association.setEnd2(toEnd);
String associationName = navProperty.getRelationship().getName();
association.setName(associationName);
return association;