@Override public IStriterator addFilter(final IFilter filter){
  if (filters == null) {
synchronized (this) {
      if (filters == null) {
        filters=Collections.synchronizedList(new LinkedList<IFilter>());
      }
    }
  }
  filters.add(filter);
  return this;
}

@ Override public IStriterator addFilter ( final IFilter filter ) { if ( filters == null ) { synchronized ( this ) { if ( filters == null ) { filters = Collections . synchronizedList ( new LinkedList < IFilter > ( ) ) ; } } } filters . add ( filter ) ; return this ; }
creates a filterator to apply the filter
