diff --git a/src/org/oscim/utils/pool/Pool.java b/src/org/oscim/utils/pool/Pool.java index b59d8885..97373dd8 100644 --- a/src/org/oscim/utils/pool/Pool.java +++ b/src/org/oscim/utils/pool/Pool.java @@ -20,9 +20,11 @@ public abstract class Pool> { /** * @param item release resources + * @return whether item should be added to + * pool. use to manage pool size manually */ - protected void clearItem(T item) { - + protected boolean clearItem(T item) { + return true; } // release 'item' to pool. @@ -31,7 +33,8 @@ public abstract class Pool> { if (item == null) return; - clearItem(item); + if (!clearItem(item)) + return; item.next = pool; pool = item;