class AssociationConverter implements EdgeConverter<org.eclipse.bpmn2.Association> {

    public Result<BpmnEdge> convertEdge(org.eclipse.bpmn2.Association association,
                                        Map<String, BpmnNode> nodes) {
        AssociationPropertyReader p = propertyReaderFactory.of(association);

        Edge<View<Association>, Node> edge = factoryManager.newEdge(association.getId(), p.getAssociationByDirection());

        Association definition = edge.getContent().getDefinition();

        definition.setGeneral(new BPMNGeneralSet(
                new Name(""),
                new Documentation(p.getDocumentation())
        ));

        return result(nodes, edge, p, "Association ignored from " + p.getSourceId() + " to " + p.getTargetId(),
                      MarshallingMessageKeys.associationIgnored);
    }

    public  AssociationConverter(TypedFactoryManager factoryManager,
                                PropertyReaderFactory propertyReaderFactory);

}