diff --git a/core/src/main/java/hudson/ExtensionList.java b/core/src/main/java/hudson/ExtensionList.java index e1a5ca9682e3e0cc9d910fb9acc9464b19f4d8ba..0d1d8f2d7f386df3c7e97ab6c0b69bad5ce53abc 100644 --- a/core/src/main/java/hudson/ExtensionList.java +++ b/core/src/main/java/hudson/ExtensionList.java @@ -176,23 +176,23 @@ public class ExtensionList extends AbstractList { @Override public synchronized boolean remove(Object o) { - removeComponent(legacyInstances,o); + boolean removed = removeComponent(legacyInstances, o); if(extensions!=null) { List> r = new ArrayList>(extensions); - removeComponent(r,o); + removed |= removeComponent(r,o); extensions = sort(r); } - return true; + return removed; } - private void removeComponent(Collection> collection, Object t) { + private boolean removeComponent(Collection> collection, Object t) { for (Iterator> itr = collection.iterator(); itr.hasNext();) { ExtensionComponent c = itr.next(); if (c.getInstance().equals(t)) { - collection.remove(c); - return; + return collection.remove(c); } } + return false; } @Override