Source:
public WorkspaceItemRest fromModel(org.dspace.content.WorkspaceItem obj) { WorkspaceItemRest witem = new WorkspaceItemRest(); Collection collection = obj.getCollection(); Item item = obj.getItem(); EPerson submitter = null; try { submitter = obj.getSubmitter(); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } witem.setId(obj.getID()); witem.setCollection(collection!=null?collectionConverter.convert(collection):null); witem.setItem(itemConverter.convert(item)); witem.setSubmitter(epersonConverter.convert(submitter)); if (collection != null) { SubmissionDefinitionRest def = submissionDefinitionConverter .convert(submissionConfigReader.getSubmissionConfigByCollection(collection.getHandle())); witem.setSubmissionDefinition(def); for (SubmissionSectionRest sections : def.getPanels()) { SubmissionStepConfig stepConfig = submissionSectionConverter.toModel(sections); ClassLoader loader = this.getClass().getClassLoader(); Class stepClass; try { stepClass = loader.loadClass(stepConfig.getProcessingClassName()); Object stepInstance = stepClass.newInstance(); if (stepInstance instanceof AbstractProcessingStep) { AbstractRestProcessingStep stepProcessing = (AbstractRestProcessingStep) stepClass .newInstance(); for(ErrorRest error : stepProcessing.validate(submissionService, obj, stepConfig)) { addError(witem.getErrors(),error); } witem.getSections().put(sections.getId(), stepProcessing.getData(submissionService, obj, stepConfig)); } else { throw new Exception("The submission step class specified by '" + stepConfig.getProcessingClassName() + "' does not extend the class org.dspace.submit.AbstractProcessingStep!" + " Therefore it cannot be used by the Configurable Submission as the <processing-class>!"); } } catch (Exception e) { log.error(e.getMessage(), e); } } } return witem; }

Target:
public WorkspaceItemRest fromModel(org.dspace.content.WorkspaceItem obj) { WorkspaceItemRest witem = new WorkspaceItemRest(); Collection collection = obj.getCollection(); Item item = obj.getItem(); EPerson submitter = null; try { submitter = obj.getSubmitter(); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } witem.setId(obj.getID()); witem.setCollection(collection!=null?collectionConverter.convert(collection):null); witem.setItem(itemConverter.convert(item)); witem.setSubmitter(epersonConverter.convert(submitter)); if (collection != null) { SubmissionDefinitionRest def = submissionDefinitionConverter .convert(submissionConfigReader.getSubmissionConfigByCollection(collection.getHandle())); witem.setSubmissionDefinition(def); for (SubmissionSectionRest sections : def.getPanels()) { SubmissionStepConfig stepConfig = submissionSectionConverter.toModel(sections); ClassLoader loader = this.getClass().getClassLoader(); Class stepClass; try { stepClass = loader.loadClass(stepConfig.getProcessingClassName()); Object stepInstance = stepClass.newInstance(); if (stepInstance instanceof AbstractProcessingStep) { AbstractRestProcessingStep stepProcessing = (AbstractRestProcessingStep) stepClass .newInstance(); for(ErrorRest error : stepProcessing.validate(submissionService, obj, stepConfig)) { addError(witem.getErrors(),error); } witem.getSections().put(sections.getId(), stepProcessing.getData(submissionService, obj, stepConfig)); } else { throw new Exception("The submission step class specified by '" + stepConfig.getProcessingClassName() + "' does not extend the class org.dspace.app.rest.submit.AbstractRestProcessingStep!" + " Therefore it cannot be used by the Configurable Submission as the <processing-class>!"); } } catch (Exception e) { log.error(e.getMessage(), e); } } } return witem; }