Operation sourceOperation,
Operation targetOperation) {
if ( OMElement.class.isAssignableFrom(source.getClass()) ) {
try {
OMElement sourceElement = (OMElement)source;
return sourceElement.cloneOMElement();
} catch ( Exception e ) {
throw new IllegalArgumentException(e);
}
}
return super.copy(source, sourceDataType, targetDataType, sourceOperation, targetOperation);