public static EReference segmentGroupToEReference(SegmentGroup grp,
EClass refClass) {
EReference reference = EcoreFactory.eINSTANCE.createEReference();
reference.setContainment(true);
reference.setName(toJavaName(grp.getXmltag(), false));
reference.setEType(refClass);
reference.setLowerBound(grp.getMinOccurs());
reference.setUpperBound(grp.getMaxOccurs());
addMappingInformation(reference, grp);
annotate(reference, "minOccurs", String.valueOf(grp.getMinOccurs()));
annotate(reference, "maxOccurs", String.valueOf(grp.getMaxOccurs()));
annotate(reference, SmooksMetadata.ANNOTATION_TYPE_KEY,
SmooksMetadata.SEGMENT_GROUP_TYPE);
annotate(reference, SmooksMetadata.SEGCODE, grp.getSegcode());
return reference;
}