Merge branch 'releases/Release_2_11_3_Branch'
[jalview.git] / src / jalview / workers / AlignCalcManager.java
index 435d40c..cdf8ea4 100644 (file)
@@ -145,7 +145,8 @@ public class AlignCalcManager implements AlignCalcManagerI
   {
     synchronized (inProgress)
     {
-      // jalview.bin.Console.errPrintln("Worker " + worker + " marked as complete.");
+      // jalview.bin.Console.errPrintln("Worker " + worker + " marked as
+      // complete.");
       inProgress.remove(worker);
       List<AlignCalcWorkerI> upd = updating.get(worker.getClass());
       if (upd != null)
@@ -201,7 +202,7 @@ public class AlignCalcManager implements AlignCalcManagerI
   @Override
   public boolean isWorking()
   {
-    boolean working=false;
+    boolean working = false;
     synchronized (inProgress)
     {
       // jalview.bin.Console.errPrintln("isWorking "+hashCode());
@@ -214,9 +215,10 @@ public class AlignCalcManager implements AlignCalcManagerI
       {
         for (List<AlignCalcWorkerI> workers : workersLists)
         {
-          if (workers!=null)
+          if (workers != null)
           {
-            synchronized (workers) {
+            synchronized (workers)
+            {
               working |= workers.size() > 0;
             }
           }
@@ -305,14 +307,16 @@ public class AlignCalcManager implements AlignCalcManagerI
           Class<? extends AlignCalcWorkerI> workerClass)
   {
     List<AlignCalcWorkerI> workingClass = new ArrayList<AlignCalcWorkerI>();
+    AlignCalcWorkerI[] workers;
     synchronized (canUpdate)
     {
-      for (AlignCalcWorkerI worker : canUpdate)
+      workers = canUpdate.toArray(new AlignCalcWorkerI[0]);
+    }
+    for (AlignCalcWorkerI worker : workers)
+    {
+      if (workerClass.equals(worker.getClass()))
       {
-        if (workerClass.equals(worker.getClass()))
-        {
-          workingClass.add(worker);
-        }
+        workingClass.add(worker);
       }
     }
     return (workingClass.size() == 0) ? null : workingClass;