public WorkExternalIdentifiers convertFrom(String source) { JSONWorkExternalIdentifiers jsonWorkExternalIdentifiers = JsonUtils.readObjectFromJsonString(source, JSONWorkExternalIdentifiers.class); WorkExternalIdentifiers workExternalIdentifiers = new WorkExternalIdentifiers(); for (JSONWorkExternalIdentifier jsonWorkExternalIdentifier : jsonWorkExternalIdentifiers.getWorkExternalIdentifier()) { if(jsonWorkExternalIdentifier.getRelationship() != null && !Relationship.VERSION_OF.name().equals(jsonWorkExternalIdentifier.getRelationship())) { WorkExternalIdentifier workExternalIdentifier = new WorkExternalIdentifier(); try { workExternalIdentifier.setWorkExternalIdentifierType(WorkExternalIdentifierType.fromValue(conv.convertFrom(jsonWorkExternalIdentifier.getWorkExternalIdentifierType(), null))); } catch (Exception e) { workExternalIdentifier.setWorkExternalIdentifierType(WorkExternalIdentifierType.OTHER_ID); } workExternalIdentifier.setWorkExternalIdentifierId(new org.orcid.jaxb.model.message.WorkExternalIdentifierId()); if (jsonWorkExternalIdentifier.getWorkExternalIdentifierId() != null) { workExternalIdentifier.getWorkExternalIdentifierId().setContent(jsonWorkExternalIdentifier.getWorkExternalIdentifierId().content); } workExternalIdentifiers.getWorkExternalIdentifier().add(workExternalIdentifier); } } return workExternalIdentifiers; }