@Override public OJAnnotatedOperation getCopy() { OJAnnotatedOperation oper = new OJAnnotatedOperation(getName()); super.copyValues(oper); oper.removeAllFromParameters(); for (OJParameter f : getParameters()) { oper.addToParameters((OJParameter) f.getCopy()); } for (OJAnnotationValue v : getAnnotations()) { oper.addAnnotationIfNew(v.getCopy()); } // TODO copy exception return oper; }