public void compile(OActivity dest, Activity source) {
OAssign oassign = (OAssign) dest;
AssignActivity ad = (AssignActivity) source;
for (AssignActivity.AssignOperation operation : ad.getOperations()) {
if (operation instanceof Copy) {
Copy scopy = (Copy)operation;
OAssign.Copy ocopy = new OAssign.Copy(_context.getOProcess());
ocopy.keepSrcElementName = scopy.isKeepSrcElement();
ocopy.ignoreMissingFromData = scopy.isIgnoreMissingFromData();
ocopy.ignoreUninitializedFromVariable = scopy.isIgnoreUninitializedFromVariable();
ocopy.insertMissingToData = scopy.isInsertMissingToData();
ocopy.insertMissingToData = scopy.isInsertMissingToData();
ocopy.debugInfo = new DebugInfo(_context.getSourceLocation(), scopy.getLineNo(),
source.getExtensibilityElements());
try {
if (scopy.getTo() == null)
throw new CompilationException(__cmsgs.errMissingToSpec().setSource(scopy));
Object[] toResultType = new Object[1];
ocopy.to = compileTo(scopy.getTo(), toResultType);
if (scopy.getFrom() == null)
throw new CompilationException(__cmsgs.errMissingFromSpec().setSource(scopy));
ocopy.from = compileFrom(scopy.getFrom(), toResultType[0]);
verifyCopy(ocopy);
oassign.operations.add(ocopy);
} catch (CompilationException ce) {