}
if (type.getReferences().get(name) != null) {
throw new DuplicateReferenceException(name);
}
reference.setName(name);
reference.setRequired(refAnnotation.required());
try {
ServiceContract<?> contract = registry.introspect(param);
reference.setServiceContract(contract);
} catch (InvalidServiceContractException e) {
throw new ProcessingException(e);