@Override
 public Response updateFunding(String orcid, Long putCode, Object funding) {
   checkProfileStatus(orcid);
   schemaValidator.validate(funding);
   funding = upgradeObject(funding);
   return downgradeResponse(memberV2ApiServiceDelegator.updateFunding(orcid, putCode, funding));
 }
 @Override
 public Response createEducation(String orcid, Object education) {
   checkProfileStatus(orcid);
   schemaValidator.validate(education);
   education = upgradeObject(education);
   return memberV2ApiServiceDelegator.createEducation(orcid, education);
 }
 @Override
 public Response createFunding(String orcid, Object funding) {
   checkProfileStatus(orcid);
   schemaValidator.validate(funding);
   funding = upgradeObject(funding);
   return memberV2ApiServiceDelegator.createFunding(orcid, funding);
 }
 @Override
 public Response updateAddress(String orcid, Long putCode, Object address) {
   checkProfileStatus(orcid);
   schemaValidator.validate(address);
   address = upgradeObject(address);
   return downgradeResponse(memberV2ApiServiceDelegator.updateAddress(orcid, putCode, address));
 }
 @Override
 public Response createWork(String orcid, Object work) {
   checkProfileStatus(orcid);
   schemaValidator.validate(work);
   work = upgradeObject(work);
   return memberV2ApiServiceDelegator.createWork(orcid, work);
 }
 @Override
 public Response createAddress(String orcid, Object address) {
   checkProfileStatus(orcid);
   schemaValidator.validate(address);
   address = upgradeObject(address);
   return memberV2ApiServiceDelegator.createAddress(orcid, address);
 }
 @Override
 public Response createKeyword(String orcid, Object keyword) {
   checkProfileStatus(orcid);
   schemaValidator.validate(keyword);
   keyword = upgradeObject(keyword);
   return memberV2ApiServiceDelegator.createKeyword(orcid, keyword);
 }
 @Override
 public Response updateKeyword(String orcid, Long putCode, Object keyword) {
   checkProfileStatus(orcid);
   schemaValidator.validate(keyword);
   keyword = upgradeObject(keyword);
   return downgradeResponse(memberV2ApiServiceDelegator.updateKeyword(orcid, putCode, keyword));
 }
 @Override
 public Response createOtherName(String orcid, Object otherName) {
   checkProfileStatus(orcid);
   schemaValidator.validate(otherName);
   otherName = upgradeObject(otherName);
   return memberV2ApiServiceDelegator.createOtherName(orcid, otherName);
 }
 @Override
 public Response createExternalIdentifier(String orcid, Object externalIdentifier) {
   checkProfileStatus(orcid);
   schemaValidator.validate(externalIdentifier);
   externalIdentifier = upgradeObject(externalIdentifier);
   return memberV2ApiServiceDelegator.createExternalIdentifier(orcid, externalIdentifier);
 }
 @Override
 public Response updateWork(String orcid, Long putCode, Object work) {
   checkProfileStatus(orcid);
   schemaValidator.validate(work);
   work = upgradeObject(work);
   return downgradeResponse(memberV2ApiServiceDelegator.updateWork(orcid, putCode, work));
 }
 @Override
 public Response createResearcherUrl(String orcid, Object researcherUrl) {
   checkProfileStatus(orcid);
   schemaValidator.validate(researcherUrl);
   researcherUrl = upgradeObject(researcherUrl);
   return memberV2ApiServiceDelegator.createResearcherUrl(orcid, researcherUrl);
 }
 @Override
 public Response createPeerReview(String orcid, Object peerReview) {
   checkProfileStatus(orcid);
   schemaValidator.validate(peerReview);
   peerReview = upgradeObject(peerReview);
   return memberV2ApiServiceDelegator.createPeerReview(orcid, peerReview);
 }
 @Override
 public Response createEmployment(String orcid, Object employment) {
   checkProfileStatus(orcid);
   schemaValidator.validate(employment);
   employment = upgradeObject(employment);
   return memberV2ApiServiceDelegator.createEmployment(orcid, employment);
 }
 @Override
 public Response updateResearcherUrl(String orcid, Long putCode, Object researcherUrl) {
   checkProfileStatus(orcid);
   schemaValidator.validate(researcherUrl);
   researcherUrl = upgradeObject(researcherUrl);
   return downgradeResponse(
       memberV2ApiServiceDelegator.updateResearcherUrl(orcid, putCode, researcherUrl));
 }
 @Override
 public Response updateExternalIdentifier(String orcid, Long putCode, Object externalIdentifier) {
   checkProfileStatus(orcid);
   schemaValidator.validate(externalIdentifier);
   externalIdentifier = upgradeObject(externalIdentifier);
   return downgradeResponse(
       memberV2ApiServiceDelegator.updateExternalIdentifier(orcid, putCode, externalIdentifier));
 }
 @Override
 public Response updateOtherName(String orcid, Long putCode, Object otherName) {
   checkProfileStatus(orcid);
   schemaValidator.validate(otherName);
   otherName = upgradeObject(otherName);
   return downgradeResponse(
       memberV2ApiServiceDelegator.updateOtherName(orcid, putCode, otherName));
 }
 @Override
 public Response updatePeerReview(String orcid, Long putCode, Object peerReview) {
   checkProfileStatus(orcid);
   schemaValidator.validate(peerReview);
   peerReview = upgradeObject(peerReview);
   return downgradeResponse(
       memberV2ApiServiceDelegator.updatePeerReview(orcid, putCode, peerReview));
 }
 @Override
 public Response updateEmployment(String orcid, Long putCode, Object employment) {
   checkProfileStatus(orcid);
   schemaValidator.validate(employment);
   employment = upgradeObject(employment);
   return downgradeResponse(
       memberV2ApiServiceDelegator.updateEmployment(orcid, putCode, employment));
 }
 @Override
 public Response updateEducation(String orcid, Long putCode, Object education) {
   checkProfileStatus(orcid);
   schemaValidator.validate(education);
   education = upgradeObject(education);
   return downgradeResponse(
       memberV2ApiServiceDelegator.updateEducation(orcid, putCode, education));
 }