@Override public DocumentOperation getWrappedDocumentOperation() { DocumentOperation innermostDocOp = docU; while (innermostDocOp instanceof DocumentOperationWrapper) { innermostDocOp = ((DocumentOperationWrapper) innermostDocOp).getWrappedDocumentOperation(); } return innermostDocOp; }
private void unwrapSchemaMapping(Processing processing) { final List<DocumentOperation> documentOperations = processing.getDocumentOperations(); for (int i = 0; i < documentOperations.size(); i++) { DocumentOperation documentOperation = documentOperations.get(i); if (documentOperation instanceof DocumentPut) { DocumentPut putOperation = (DocumentPut) documentOperation; if (putOperation.getDocument() instanceof DocumentOperationWrapper) { DocumentOperationWrapper proxy = (DocumentOperationWrapper) putOperation.getDocument(); documentOperations.set(i, new DocumentPut(putOperation, ((DocumentPut)proxy.getWrappedDocumentOperation()).getDocument())); } } } }