package org.helioviewer.viewmodel.filter;

import java.util.LinkedList;

public abstract class AbstractFilter implements Filter {

    private final LinkedList<FilterListener> listeners = new LinkedList<FilterListener>();

    /**
     * {@inheritDoc}
     */
    @Override
    public void addFilterListener(FilterListener l) {
        synchronized (listeners) {
            listeners.add(l);
        }
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public void removeFilterListener(FilterListener l) {
        synchronized (listeners) {
            listeners.remove(l);
        }
    }

    /**
     * Notifies all registered listeners, that something has changed.
     */
    protected void notifyAllListeners() {
        synchronized (listeners) {
            for (FilterListener f : listeners) {
                f.filterChanged(this);
            }
        }
    }
}

@@ -53,22 +53,21 @@
 va.util.
-Linked
+Array
 List;%0A%0Ap
@@ -141,22 +141,21 @@
 e final 
-Linked
+Array
 List%3CFil
@@ -187,14 +187,13 @@
 new 
-Linked
+Array
 List
@@ -322,47 +322,8 @@
 ) %7B%0A
-        synchronized (listeners) %7B%0A    
     
@@ -340,34 +340,24 @@
 ers.add(l);%0A
-        %7D%0A
     %7D%0A%0A    /
@@ -463,47 +463,8 @@
 ) %7B%0A
-        synchronized (listeners) %7B%0A    
     
@@ -488,26 +488,16 @@
 ove(l);%0A
-        %7D%0A
     %7D%0A%0A 
@@ -627,47 +627,8 @@
 ) %7B%0A
-        synchronized (listeners) %7B%0A    
     
@@ -664,28 +664,24 @@
 isteners) %7B%0A
-    
             
@@ -707,22 +707,8 @@
 s);%0A
-            %7D%0A
     
@@ -713,16 +713,17 @@
       %7D%0A
-
     %7D%0A
+%0A
 %7D%0A

Remove synchronized