Author: mbenson
Date: Wed Mar 2 23:07:04 2011
New Revision: 1076450
URL: http://svn.apache.org/viewvc?rev=1076450&view=rev
Log:
scale back synchronization
Modified:
commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/core/collection/FilteredIterable.java
Modified:
commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/core/collection/FilteredIterable.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/core/collection/FilteredIterable.java?rev=1076450&r1=1076449&r2=1076450&view=diff
==============================================================================
---
commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/core/collection/FilteredIterable.java
(original)
+++
commons/sandbox/functor/trunk/src/main/java/org/apache/commons/functor/core/collection/FilteredIterable.java
Wed Mar 2 23:07:04 2011
@@ -80,14 +80,16 @@ public class FilteredIterable<T> impleme
* @param predicate filter, non-<code>null</code>
* @return <code>this</code>, fluently
*/
- public synchronized FilteredIterable<T> retain(UnaryPredicate<? super T>
predicate) {
+ public FilteredIterable<T> retain(UnaryPredicate<? super T> predicate) {
if (predicate == null) {
throw new NullPointerException("filtering predicate was null");
}
- if (this.predicate == null) {
- this.predicate = new UnaryAnd<T>();
+ synchronized (this) {
+ if (this.predicate == null) {
+ this.predicate = new UnaryAnd<T>();
+ }
+ this.predicate.and(predicate);
}
- this.predicate.and(predicate);
return this;
}
@@ -138,7 +140,6 @@ public class FilteredIterable<T> impleme
}
return false;
}
-
});
}