===================================================================== Found a 41 line (201 tokens) duplication in the following files: Starting at line 398 of /home/tom/data/cf-dashboard/working/contract/src/org/cougaar/lib/contract/lang/compare/Allow.java Starting at line 392 of /home/tom/data/cf-dashboard/working/contract/src/org/cougaar/lib/contract/lang/compare/Imply.java return false; } } return true; } else if (o2ID == OR_ID) { // see if this typeOp implies any element of the orOp Op[] ops = ((OrOp)o2).ops; int nops = ops.length; // for all orOp elements for (int i = 0; i < nops; i++) { Op ui = ops[i]; if (compute(o1, ui)) { return true; } } return false; } else { return false; } } protected static final boolean compute( final MethodOp o1, final Op o2) { int o2ID = o2.getID(); if (o2ID == METHOD_ID) { // see if the methods are equal return (o1.equals(o2)); } else if (o2ID == INSTANCEOF_ID) { // see if method is non-static, e.g. "String.equals", and // if it implies the given type, e.g. "is:String" Method meth = o1.meth; if ((meth.getModifiers() & Modifier.STATIC) == 0) { Type t2 = (Type)o2; Class mclass = meth.getDeclaringClass(); return (t2.impliedBy(false, mclass)); } else { return false; } } else if (o2ID == AND_ID) { // see if the andOp elements are all instance checks and/or // this method ===================================================================== Found a 11 line (102 tokens) duplication in the following files: Starting at line 70 of /home/tom/data/cf-dashboard/working/contract/src/org/cougaar/lib/contract/lang/cache/MethodCache.java Starting at line 118 of /home/tom/data/cf-dashboard/working/contract/src/org/cougaar/lib/contract/lang/cache/MethodCache.java for (int i = allMeths.length-1; i >= 0; i--) { Method m = allMeths[i]; // must have same name if (name.equals(m.getName())) { int mmods = m.getModifiers(); // must be PUBLIC, and must meet STATIC/NON_STATIC requirements if (((mmods & Modifier.PUBLIC) != 0) && (IS_STATIC_EXPLICIT ? (isStatic == ((mmods & Modifier.STATIC) != 0)) : (isStatic ? ((mmods & Modifier.STATIC) != 0) : true))) { // found possible method -- check args