Iterator iter = new LinkedList(tree.list()).iterator(); while (iter.hasNext()) { TestElement item = (TestElement) iter.next(); if (!item.isEnabled()) { //log.info("Removing "+item.toString()); tree.remove(item); } else { //log.info("Keeping "+item.toString()); removeDisabledItems(tree.getTree(item));// Recursive call } }
try { Collection newCol = (Collection) value.getClass().newInstance(); PropertyIterator iter = iterator(); while (iter.hasNext()) { newCol.add(iter.next().clone()); } return newCol; } catch (Exception e) { log.error("Couldn't clone collection", e); return value; }
Clone fragments detected by clone detection tool
File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/control/IncludeController.java File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/testelement/property/CollectionProperty.java
Method name: void removeDisabledItems(HashTree) Method name: Collection cloneCollection()
Number of AST nodes: 6 Number of AST nodes: 6
1
Iterator iter = new LinkedList(tree.list()).
1
try {
2
			Collection newCol = (Collection) value.getClass().newInstance();
2
iterator();
3
			PropertyIterator iter = iterator();
3
        while (iter.hasNext()) {
4
			while (iter.hasNext()) {
4
            TestElement item = (TestElement) iter.next();
5
            if (!item.isEnabled()) {
6
                //log.info("Removing "+item.toString());
7
                tree.remove(item);
8
            } else {
9
                //log.info("Keeping "+item.toString());
10
                removeDisabledItems(tree.getTree(item));// Recursive call
11
            }
12
        
5
				newCol.add(iter.next().clone());
6
			}
7
			return newCol;
8
		} catch (Exception e) {
9
			log.error("Couldn't clone collection", e);
10
			return value;
13
}
11
		}
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones locationClones are in different classes
Number of node comparisons1