You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@commons.apache.org by ps...@apache.org on 2015/08/02 17:46:22 UTC
svn commit: r960538 [5/30] - in
/websites/production/commons/content/proper/commons-pool: ./ apidocs/
apidocs/org/apache/commons/pool2/ apidocs/org/apache/commons/pool2/class-use/
apidocs/org/apache/commons/pool2/impl/ apidocs/org/apache/commons/pool2/...
Modified: websites/production/commons/content/proper/commons-pool/cobertura/org.apache.commons.pool2.PoolUtils.html
==============================================================================
--- websites/production/commons/content/proper/commons-pool/cobertura/org.apache.commons.pool2.PoolUtils.html (original)
+++ websites/production/commons/content/proper/commons-pool/cobertura/org.apache.commons.pool2.PoolUtils.html Sun Aug 2 15:46:18 2015
@@ -116,8 +116,8 @@
<td class="src"><pre class="src"> <span class="comment"> * {@link Timer} creates a {@link Thread}, an IODH is used.</span></pre></td></tr>
<tr> <td class="numLine"> 44</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 45</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">static</span> <span class="keyword">class</span> TimerHolder {</pre></td></tr>
-<tr> <td class="numLineCover"> 46</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">static</span> <span class="keyword">final</span> Timer MIN_IDLE_TIMER = <span class="keyword">new</span> Timer(<span class="keyword">true</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 45</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">static</span> <span class="keyword">class</span> TimerHolder {</pre></td></tr>
+<tr> <td class="numLineCover"> 46</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">static</span> <span class="keyword">final</span> Timer MIN_IDLE_TIMER = <span class="keyword">new</span> Timer(<span class="keyword">true</span>);</pre></td></tr>
<tr> <td class="numLine"> 47</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 48</td> <td class="nbHits"> </td>
@@ -134,8 +134,8 @@
<td class="src"><pre class="src"> <span class="comment"> * instance to operate.</span></pre></td></tr>
<tr> <td class="numLine"> 54</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 55</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">public</span> PoolUtils() {</pre></td></tr>
-<tr> <td class="numLineCover"> 56</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 55</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">public</span> PoolUtils() {</pre></td></tr>
+<tr> <td class="numLineCover"> 56</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 57</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 58</td> <td class="nbHits"> </td>
@@ -166,17 +166,17 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 71</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> checkRethrow(Throwable t) {</pre></td></tr>
-<tr> <td class="numLineCover"> 72</td> <td class="nbHitsCovered"><a title="Line 72: Conditional coverage 100% (2/2)."> 11</a></td> <td class="src"><pre class="src"> <a title="Line 72: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (t <span class="keyword">instanceof</span> ThreadDeath) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 73</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> (ThreadDeath) t;</pre></td></tr>
+<tr> <td class="numLineCover"> 72</td> <td class="nbHitsCovered"><a title="Line 72: Conditional coverage 100% (2/2)."> 22</a></td> <td class="src"><pre class="src"> <a title="Line 72: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (t <span class="keyword">instanceof</span> ThreadDeath) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 73</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> (ThreadDeath) t;</pre></td></tr>
<tr> <td class="numLine"> 74</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 75</td> <td class="nbHitsCovered"><a title="Line 75: Conditional coverage 100% (2/2)."> 10</a></td> <td class="src"><pre class="src"> <a title="Line 75: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (t <span class="keyword">instanceof</span> VirtualMachineError) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 76</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> (VirtualMachineError) t;</pre></td></tr>
+<tr> <td class="numLineCover"> 75</td> <td class="nbHitsCovered"><a title="Line 75: Conditional coverage 100% (2/2)."> 20</a></td> <td class="src"><pre class="src"> <a title="Line 75: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (t <span class="keyword">instanceof</span> VirtualMachineError) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 76</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> (VirtualMachineError) t;</pre></td></tr>
<tr> <td class="numLine"> 77</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 78</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// All other instances of Throwable will be silently swallowed</span></pre></td></tr>
-<tr> <td class="numLineCover"> 79</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 79</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 80</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 81</td> <td class="nbHits"> </td>
@@ -227,17 +227,17 @@
<td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">int</span> minIdle, <span class="keyword">final</span> <span class="keyword">long</span> period)</pre></td></tr>
<tr> <td class="numLine"> 104</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">throws</span> IllegalArgumentException {</pre></td></tr>
-<tr> <td class="numLineCover"> 105</td> <td class="nbHitsCovered"><a title="Line 105: Conditional coverage 100% (2/2)."> 4</a></td> <td class="src"><pre class="src"> <a title="Line 105: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (pool == <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 106</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"keyedPool must not be null."</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 105</td> <td class="nbHitsCovered"><a title="Line 105: Conditional coverage 100% (2/2)."> 8</a></td> <td class="src"><pre class="src"> <a title="Line 105: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (pool == <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 106</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"keyedPool must not be null."</span>);</pre></td></tr>
<tr> <td class="numLine"> 107</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 108</td> <td class="nbHitsCovered"><a title="Line 108: Conditional coverage 100% (2/2)."> 3</a></td> <td class="src"><pre class="src"> <a title="Line 108: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (minIdle < 0) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 109</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"minIdle must be non-negative."</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 108</td> <td class="nbHitsCovered"><a title="Line 108: Conditional coverage 100% (2/2)."> 6</a></td> <td class="src"><pre class="src"> <a title="Line 108: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (minIdle < 0) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 109</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"minIdle must be non-negative."</span>);</pre></td></tr>
<tr> <td class="numLine"> 110</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 111</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">final</span> TimerTask task = <span class="keyword">new</span> ObjectPoolMinIdleTimerTask<T>(pool, minIdle);</pre></td></tr>
-<tr> <td class="numLineCover"> 112</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> getMinIdleTimer().schedule(task, 0L, period);</pre></td></tr>
-<tr> <td class="numLineCover"> 113</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> task;</pre></td></tr>
+<tr> <td class="numLineCover"> 111</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> TimerTask task = <span class="keyword">new</span> ObjectPoolMinIdleTimerTask<T>(pool, minIdle);</pre></td></tr>
+<tr> <td class="numLineCover"> 112</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> getMinIdleTimer().schedule(task, 0L, period);</pre></td></tr>
+<tr> <td class="numLineCover"> 113</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> task;</pre></td></tr>
<tr> <td class="numLine"> 114</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 115</td> <td class="nbHits"> </td>
@@ -302,23 +302,23 @@
<td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">int</span> minIdle, <span class="keyword">final</span> <span class="keyword">long</span> period)</pre></td></tr>
<tr> <td class="numLine"> 145</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">throws</span> IllegalArgumentException {</pre></td></tr>
-<tr> <td class="numLineCover"> 146</td> <td class="nbHitsCovered"><a title="Line 146: Conditional coverage 100% (2/2)."> 9</a></td> <td class="src"><pre class="src"> <a title="Line 146: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (keyedPool == <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 147</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"keyedPool must not be null."</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 146</td> <td class="nbHitsCovered"><a title="Line 146: Conditional coverage 100% (2/2)."> 18</a></td> <td class="src"><pre class="src"> <a title="Line 146: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (keyedPool == <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 147</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"keyedPool must not be null."</span>);</pre></td></tr>
<tr> <td class="numLine"> 148</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 149</td> <td class="nbHitsCovered"><a title="Line 149: Conditional coverage 100% (2/2)."> 8</a></td> <td class="src"><pre class="src"> <a title="Line 149: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (key == <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 150</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"key must not be null."</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 149</td> <td class="nbHitsCovered"><a title="Line 149: Conditional coverage 100% (2/2)."> 16</a></td> <td class="src"><pre class="src"> <a title="Line 149: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (key == <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 150</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"key must not be null."</span>);</pre></td></tr>
<tr> <td class="numLine"> 151</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 152</td> <td class="nbHitsCovered"><a title="Line 152: Conditional coverage 100% (2/2)."> 6</a></td> <td class="src"><pre class="src"> <a title="Line 152: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (minIdle < 0) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 153</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"minIdle must be non-negative."</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 152</td> <td class="nbHitsCovered"><a title="Line 152: Conditional coverage 100% (2/2)."> 12</a></td> <td class="src"><pre class="src"> <a title="Line 152: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (minIdle < 0) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 153</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"minIdle must be non-negative."</span>);</pre></td></tr>
<tr> <td class="numLine"> 154</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 155</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> <span class="keyword">final</span> TimerTask task = <span class="keyword">new</span> KeyedObjectPoolMinIdleTimerTask<K, V>(</pre></td></tr>
+<tr> <td class="numLineCover"> 155</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">final</span> TimerTask task = <span class="keyword">new</span> KeyedObjectPoolMinIdleTimerTask<K, V>(</pre></td></tr>
<tr> <td class="numLine"> 156</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> keyedPool, key, minIdle);</pre></td></tr>
-<tr> <td class="numLineCover"> 157</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> getMinIdleTimer().schedule(task, 0L, period);</pre></td></tr>
-<tr> <td class="numLineCover"> 158</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> <span class="keyword">return</span> task;</pre></td></tr>
+<tr> <td class="numLineCover"> 157</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> getMinIdleTimer().schedule(task, 0L, period);</pre></td></tr>
+<tr> <td class="numLineCover"> 158</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">return</span> task;</pre></td></tr>
<tr> <td class="numLine"> 159</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 160</td> <td class="nbHits"> </td>
@@ -385,18 +385,18 @@
<td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">int</span> minIdle, <span class="keyword">final</span> <span class="keyword">long</span> period)</pre></td></tr>
<tr> <td class="numLine"> 191</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">throws</span> IllegalArgumentException {</pre></td></tr>
-<tr> <td class="numLineCover"> 192</td> <td class="nbHitsUncovered"><a title="Line 192: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 192: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (keys == <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 192</td> <td class="nbHitsUncovered"><a title="Line 192: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 192: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (keys == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 193</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"keys must not be null."</span>);</span></pre></td></tr>
<tr> <td class="numLine"> 194</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 195</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Map<K, TimerTask> tasks = <span class="keyword">new</span> HashMap<K, TimerTask>(keys.size());</pre></td></tr>
-<tr> <td class="numLineCover"> 196</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Iterator<K> iter = keys.iterator();</pre></td></tr>
-<tr> <td class="numLineCover"> 197</td> <td class="nbHitsCovered"><a title="Line 197: Conditional coverage 100% (2/2)."> 3</a></td> <td class="src"><pre class="src"> <a title="Line 197: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (iter.hasNext()) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 198</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">final</span> K key = iter.next();</pre></td></tr>
-<tr> <td class="numLineCover"> 199</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">final</span> TimerTask task = checkMinIdle(keyedPool, key, minIdle, period);</pre></td></tr>
-<tr> <td class="numLineCover"> 200</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> tasks.put(key, task);</pre></td></tr>
-<tr> <td class="numLineCover"> 201</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 202</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> tasks;</pre></td></tr>
+<tr> <td class="numLineCover"> 195</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Map<K, TimerTask> tasks = <span class="keyword">new</span> HashMap<K, TimerTask>(keys.size());</pre></td></tr>
+<tr> <td class="numLineCover"> 196</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Iterator<K> iter = keys.iterator();</pre></td></tr>
+<tr> <td class="numLineCover"> 197</td> <td class="nbHitsCovered"><a title="Line 197: Conditional coverage 100% (2/2)."> 6</a></td> <td class="src"><pre class="src"> <a title="Line 197: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (iter.hasNext()) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 198</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> K key = iter.next();</pre></td></tr>
+<tr> <td class="numLineCover"> 199</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> TimerTask task = checkMinIdle(keyedPool, key, minIdle, period);</pre></td></tr>
+<tr> <td class="numLineCover"> 200</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> tasks.put(key, task);</pre></td></tr>
+<tr> <td class="numLineCover"> 201</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 202</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> tasks;</pre></td></tr>
<tr> <td class="numLine"> 203</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 204</td> <td class="nbHits"> </td>
@@ -433,15 +433,15 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <T> <span class="keyword">void</span> prefill(<span class="keyword">final</span> ObjectPool<T> pool, <span class="keyword">final</span> <span class="keyword">int</span> count)</pre></td></tr>
<tr> <td class="numLine"> 220</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">throws</span> Exception, IllegalArgumentException {</pre></td></tr>
-<tr> <td class="numLineCover"> 221</td> <td class="nbHitsCovered"><a title="Line 221: Conditional coverage 100% (2/2)."> 15</a></td> <td class="src"><pre class="src"> <a title="Line 221: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (pool == <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 222</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"pool must not be null."</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 221</td> <td class="nbHitsCovered"><a title="Line 221: Conditional coverage 100% (2/2)."> 30</a></td> <td class="src"><pre class="src"> <a title="Line 221: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (pool == <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 222</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"pool must not be null."</span>);</pre></td></tr>
<tr> <td class="numLine"> 223</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 224</td> <td class="nbHitsCovered"><a title="Line 224: Conditional coverage 100% (2/2)."> 77</a></td> <td class="src"><pre class="src"> <a title="Line 224: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < count; i++) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 225</td> <td class="nbHitsCovered"> 63</td> <td class="src"><pre class="src"> pool.addObject();</pre></td></tr>
+<tr> <td class="numLineCover"> 224</td> <td class="nbHitsCovered"><a title="Line 224: Conditional coverage 100% (2/2)."> 154</a></td> <td class="src"><pre class="src"> <a title="Line 224: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < count; i++) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 225</td> <td class="nbHitsCovered"> 126</td> <td class="src"><pre class="src"> pool.addObject();</pre></td></tr>
<tr> <td class="numLine"> 226</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 227</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 227</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 228</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 229</td> <td class="nbHits"> </td>
@@ -486,19 +486,19 @@
<td class="src"><pre class="src"> <span class="keyword">final</span> K key, <span class="keyword">final</span> <span class="keyword">int</span> count) <span class="keyword">throws</span> Exception,</pre></td></tr>
<tr> <td class="numLine"> 249</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> IllegalArgumentException {</pre></td></tr>
-<tr> <td class="numLineCover"> 250</td> <td class="nbHitsCovered"><a title="Line 250: Conditional coverage 100% (2/2)."> 11</a></td> <td class="src"><pre class="src"> <a title="Line 250: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (keyedPool == <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 251</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"keyedPool must not be null."</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 250</td> <td class="nbHitsCovered"><a title="Line 250: Conditional coverage 100% (2/2)."> 22</a></td> <td class="src"><pre class="src"> <a title="Line 250: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (keyedPool == <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 251</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"keyedPool must not be null."</span>);</pre></td></tr>
<tr> <td class="numLine"> 252</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 253</td> <td class="nbHitsCovered"><a title="Line 253: Conditional coverage 100% (2/2)."> 10</a></td> <td class="src"><pre class="src"> <a title="Line 253: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (key == <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 254</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"key must not be null."</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 253</td> <td class="nbHitsCovered"><a title="Line 253: Conditional coverage 100% (2/2)."> 20</a></td> <td class="src"><pre class="src"> <a title="Line 253: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (key == <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 254</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"key must not be null."</span>);</pre></td></tr>
<tr> <td class="numLine"> 255</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 256</td> <td class="nbHitsCovered"><a title="Line 256: Conditional coverage 100% (2/2)."> 41</a></td> <td class="src"><pre class="src"> <a title="Line 256: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < count; i++) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 257</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> keyedPool.addObject(key);</pre></td></tr>
+<tr> <td class="numLineCover"> 256</td> <td class="nbHitsCovered"><a title="Line 256: Conditional coverage 100% (2/2)."> 82</a></td> <td class="src"><pre class="src"> <a title="Line 256: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < count; i++) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 257</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> keyedPool.addObject(key);</pre></td></tr>
<tr> <td class="numLine"> 258</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 259</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 259</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 260</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 261</td> <td class="nbHits"> </td>
@@ -549,16 +549,16 @@
<td class="src"><pre class="src"> <span class="keyword">final</span> Collection<K> keys, <span class="keyword">final</span> <span class="keyword">int</span> count) <span class="keyword">throws</span> Exception,</pre></td></tr>
<tr> <td class="numLine"> 284</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> IllegalArgumentException {</pre></td></tr>
-<tr> <td class="numLineCover"> 285</td> <td class="nbHitsCovered"><a title="Line 285: Conditional coverage 100% (2/2)."> 3</a></td> <td class="src"><pre class="src"> <a title="Line 285: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (keys == <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"keys must not be null."</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 285</td> <td class="nbHitsCovered"><a title="Line 285: Conditional coverage 100% (2/2)."> 6</a></td> <td class="src"><pre class="src"> <a title="Line 285: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (keys == <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"keys must not be null."</span>);</pre></td></tr>
<tr> <td class="numLine"> 287</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 288</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Iterator<K> iter = keys.iterator();</pre></td></tr>
-<tr> <td class="numLineCover"> 289</td> <td class="nbHitsCovered"><a title="Line 289: Conditional coverage 100% (2/2)."> 5</a></td> <td class="src"><pre class="src"> <a title="Line 289: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (iter.hasNext()) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 290</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> prefill(keyedPool, iter.next(), count);</pre></td></tr>
+<tr> <td class="numLineCover"> 288</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Iterator<K> iter = keys.iterator();</pre></td></tr>
+<tr> <td class="numLineCover"> 289</td> <td class="nbHitsCovered"><a title="Line 289: Conditional coverage 100% (2/2)."> 10</a></td> <td class="src"><pre class="src"> <a title="Line 289: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (iter.hasNext()) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 290</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> prefill(keyedPool, iter.next(), count);</pre></td></tr>
<tr> <td class="numLine"> 291</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 292</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 292</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 293</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 294</td> <td class="nbHits"> </td>
@@ -597,8 +597,8 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 311</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <T> ObjectPool<T> synchronizedPool(<span class="keyword">final</span> ObjectPool<T> pool) {</pre></td></tr>
-<tr> <td class="numLineCover"> 312</td> <td class="nbHitsCovered"><a title="Line 312: Conditional coverage 100% (2/2)."> 2</a></td> <td class="src"><pre class="src"> <a title="Line 312: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (pool == <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 313</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"pool must not be null."</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 312</td> <td class="nbHitsCovered"><a title="Line 312: Conditional coverage 100% (2/2)."> 4</a></td> <td class="src"><pre class="src"> <a title="Line 312: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (pool == <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 313</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"pool must not be null."</span>);</pre></td></tr>
<tr> <td class="numLine"> 314</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 315</td> <td class="nbHits"> </td>
@@ -623,7 +623,7 @@
<td class="src"><pre class="src"> <span class="comment"> * "CompositeObjectPools are already thread-safe";</span></pre></td></tr>
<tr> <td class="numLine"> 325</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 326</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> SynchronizedObjectPool<T>(pool);</pre></td></tr>
+<tr> <td class="numLineCover"> 326</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> SynchronizedObjectPool<T>(pool);</pre></td></tr>
<tr> <td class="numLine"> 327</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 328</td> <td class="nbHits"> </td>
@@ -688,7 +688,7 @@
<td class="src"><pre class="src"> <span class="comment"> * "CompositeKeyedObjectPools are already thread-safe";</span></pre></td></tr>
<tr> <td class="numLine"> 358</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 359</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> SynchronizedKeyedObjectPool<K, V>(keyedPool);</pre></td></tr>
+<tr> <td class="numLineCover"> 359</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> SynchronizedKeyedObjectPool<K, V>(keyedPool);</pre></td></tr>
<tr> <td class="numLine"> 360</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 361</td> <td class="nbHits"> </td>
@@ -717,7 +717,7 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <T> PooledObjectFactory<T> synchronizedPooledFactory(</pre></td></tr>
<tr> <td class="numLine"> 373</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">final</span> PooledObjectFactory<T> factory) {</pre></td></tr>
-<tr> <td class="numLineCover"> 374</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> SynchronizedPooledObjectFactory<T>(factory);</pre></td></tr>
+<tr> <td class="numLineCover"> 374</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> SynchronizedPooledObjectFactory<T>(factory);</pre></td></tr>
<tr> <td class="numLine"> 375</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 376</td> <td class="nbHits"> </td>
@@ -748,7 +748,7 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <K, V> KeyedPooledObjectFactory<K, V> synchronizedKeyedPooledFactory(</pre></td></tr>
<tr> <td class="numLine"> 389</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">final</span> KeyedPooledObjectFactory<K, V> keyedFactory) {</pre></td></tr>
-<tr> <td class="numLineCover"> 390</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> SynchronizedKeyedPooledObjectFactory<K, V>(keyedFactory);</pre></td></tr>
+<tr> <td class="numLineCover"> 390</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> SynchronizedKeyedPooledObjectFactory<K, V>(keyedFactory);</pre></td></tr>
<tr> <td class="numLine"> 391</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 392</td> <td class="nbHits"> </td>
@@ -785,7 +785,7 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 408</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <T> ObjectPool<T> erodingPool(<span class="keyword">final</span> ObjectPool<T> pool) {</pre></td></tr>
-<tr> <td class="numLineCover"> 409</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> erodingPool(pool, 1f);</pre></td></tr>
+<tr> <td class="numLineCover"> 409</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> erodingPool(pool, 1f);</pre></td></tr>
<tr> <td class="numLine"> 410</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 411</td> <td class="nbHits"> </td>
@@ -846,15 +846,15 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <T> ObjectPool<T> erodingPool(<span class="keyword">final</span> ObjectPool<T> pool,</pre></td></tr>
<tr> <td class="numLine"> 439</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">float</span> factor) {</pre></td></tr>
-<tr> <td class="numLineCover"> 440</td> <td class="nbHitsCovered"><a title="Line 440: Conditional coverage 100% (2/2)."> 5</a></td> <td class="src"><pre class="src"> <a title="Line 440: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (pool == <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 441</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"pool must not be null."</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 440</td> <td class="nbHitsCovered"><a title="Line 440: Conditional coverage 100% (2/2)."> 10</a></td> <td class="src"><pre class="src"> <a title="Line 440: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (pool == <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 441</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"pool must not be null."</span>);</pre></td></tr>
<tr> <td class="numLine"> 442</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 443</td> <td class="nbHitsCovered"><a title="Line 443: Conditional coverage 100% (2/2)."> 3</a></td> <td class="src"><pre class="src"> <a title="Line 443: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (factor <= 0f) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 444</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"factor must be positive."</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 443</td> <td class="nbHitsCovered"><a title="Line 443: Conditional coverage 100% (2/2)."> 6</a></td> <td class="src"><pre class="src"> <a title="Line 443: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (factor <= 0f) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 444</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"factor must be positive."</span>);</pre></td></tr>
<tr> <td class="numLine"> 445</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 446</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> ErodingObjectPool<T>(pool, factor);</pre></td></tr>
+<tr> <td class="numLineCover"> 446</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> ErodingObjectPool<T>(pool, factor);</pre></td></tr>
<tr> <td class="numLine"> 447</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 448</td> <td class="nbHits"> </td>
@@ -897,7 +897,7 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <K, V> KeyedObjectPool<K, V> erodingPool(</pre></td></tr>
<tr> <td class="numLine"> 467</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">final</span> KeyedObjectPool<K, V> keyedPool) {</pre></td></tr>
-<tr> <td class="numLineCover"> 468</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> erodingPool(keyedPool, 1f);</pre></td></tr>
+<tr> <td class="numLineCover"> 468</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> erodingPool(keyedPool, 1f);</pre></td></tr>
<tr> <td class="numLine"> 469</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 470</td> <td class="nbHits"> </td>
@@ -960,7 +960,7 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <K, V> KeyedObjectPool<K, V> erodingPool(</pre></td></tr>
<tr> <td class="numLine"> 499</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">final</span> KeyedObjectPool<K, V> keyedPool, <span class="keyword">final</span> <span class="keyword">float</span> factor) {</pre></td></tr>
-<tr> <td class="numLineCover"> 500</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> <span class="keyword">return</span> erodingPool(keyedPool, factor, <span class="keyword">false</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 500</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">return</span> erodingPool(keyedPool, factor, <span class="keyword">false</span>);</pre></td></tr>
<tr> <td class="numLine"> 501</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 502</td> <td class="nbHits"> </td>
@@ -1043,19 +1043,19 @@
<td class="src"><pre class="src"> <span class="keyword">final</span> KeyedObjectPool<K, V> keyedPool, <span class="keyword">final</span> <span class="keyword">float</span> factor,</pre></td></tr>
<tr> <td class="numLine"> 541</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">boolean</span> perKey) {</pre></td></tr>
-<tr> <td class="numLineCover"> 542</td> <td class="nbHitsCovered"><a title="Line 542: Conditional coverage 100% (2/2)."> 11</a></td> <td class="src"><pre class="src"> <a title="Line 542: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (keyedPool == <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 543</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"keyedPool must not be null."</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 542</td> <td class="nbHitsCovered"><a title="Line 542: Conditional coverage 100% (2/2)."> 22</a></td> <td class="src"><pre class="src"> <a title="Line 542: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (keyedPool == <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 543</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"keyedPool must not be null."</span>);</pre></td></tr>
<tr> <td class="numLine"> 544</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 545</td> <td class="nbHitsCovered"><a title="Line 545: Conditional coverage 100% (2/2)."> 5</a></td> <td class="src"><pre class="src"> <a title="Line 545: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (factor <= 0f) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 546</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"factor must be positive."</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 545</td> <td class="nbHitsCovered"><a title="Line 545: Conditional coverage 100% (2/2)."> 10</a></td> <td class="src"><pre class="src"> <a title="Line 545: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (factor <= 0f) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 546</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"factor must be positive."</span>);</pre></td></tr>
<tr> <td class="numLine"> 547</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 548</td> <td class="nbHitsCovered"><a title="Line 548: Conditional coverage 100% (2/2)."> 3</a></td> <td class="src"><pre class="src"> <a title="Line 548: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (perKey) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 549</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> ErodingPerKeyKeyedObjectPool<K, V>(keyedPool, factor);</pre></td></tr>
+<tr> <td class="numLineCover"> 548</td> <td class="nbHitsCovered"><a title="Line 548: Conditional coverage 100% (2/2)."> 6</a></td> <td class="src"><pre class="src"> <a title="Line 548: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (perKey) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 549</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> ErodingPerKeyKeyedObjectPool<K, V>(keyedPool, factor);</pre></td></tr>
<tr> <td class="numLine"> 550</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 551</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> ErodingKeyedObjectPool<K, V>(keyedPool, factor);</pre></td></tr>
+<tr> <td class="numLineCover"> 551</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> ErodingKeyedObjectPool<K, V>(keyedPool, factor);</pre></td></tr>
<tr> <td class="numLine"> 552</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 553</td> <td class="nbHits"> </td>
@@ -1072,7 +1072,7 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 559</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> Timer getMinIdleTimer() {</pre></td></tr>
-<tr> <td class="numLineCover"> 560</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">return</span> TimerHolder.MIN_IDLE_TIMER;</pre></td></tr>
+<tr> <td class="numLineCover"> 560</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">return</span> TimerHolder.MIN_IDLE_TIMER;</pre></td></tr>
<tr> <td class="numLine"> 561</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 562</td> <td class="nbHits"> </td>
@@ -1127,14 +1127,14 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 587</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> ObjectPoolMinIdleTimerTask(<span class="keyword">final</span> ObjectPool<T> pool, <span class="keyword">final</span> <span class="keyword">int</span> minIdle)</pre></td></tr>
-<tr> <td class="numLineCover"> 588</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throws</span> IllegalArgumentException {</pre></td></tr>
-<tr> <td class="numLineCover"> 589</td> <td class="nbHitsUncovered"><a title="Line 589: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 589: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (pool == <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 588</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">throws</span> IllegalArgumentException {</pre></td></tr>
+<tr> <td class="numLineCover"> 589</td> <td class="nbHitsUncovered"><a title="Line 589: Conditional coverage 50% (1/2)."> 4</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 589: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (pool == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 590</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"pool must not be null."</span>);</span></pre></td></tr>
<tr> <td class="numLine"> 591</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 592</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.pool = pool;</pre></td></tr>
-<tr> <td class="numLineCover"> 593</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.minIdle = minIdle;</pre></td></tr>
-<tr> <td class="numLineCover"> 594</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 592</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.pool = pool;</pre></td></tr>
+<tr> <td class="numLineCover"> 593</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.minIdle = minIdle;</pre></td></tr>
+<tr> <td class="numLineCover"> 594</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 595</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 596</td> <td class="nbHits"> </td>
@@ -1147,29 +1147,29 @@
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 600</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> run() {</pre></td></tr>
-<tr> <td class="numLineCover"> 601</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> success = <span class="keyword">false</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 601</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> success = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine"> 602</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 603</td> <td class="nbHitsCovered"><a title="Line 603: Conditional coverage 100% (2/2)."> 15</a></td> <td class="src"><pre class="src"> <a title="Line 603: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (pool.getNumIdle() < minIdle) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 604</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> pool.addObject();</pre></td></tr>
+<tr> <td class="numLineCover"> 603</td> <td class="nbHitsCovered"><a title="Line 603: Conditional coverage 100% (2/2)."> 30</a></td> <td class="src"><pre class="src"> <a title="Line 603: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (pool.getNumIdle() < minIdle) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 604</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> pool.addObject();</pre></td></tr>
<tr> <td class="numLine"> 605</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 606</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> success = <span class="keyword">true</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 606</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> success = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLine"> 607</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 608</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> } <span class="keyword">catch</span> (Exception e) {</pre></td></tr>
-<tr> <td class="numLineCover"> 609</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> cancel();</pre></td></tr>
+<tr> <td class="numLineCover"> 608</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> } <span class="keyword">catch</span> (Exception e) {</pre></td></tr>
+<tr> <td class="numLineCover"> 609</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> cancel();</pre></td></tr>
<tr> <td class="numLine"> 610</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } <span class="keyword">finally</span> {</pre></td></tr>
<tr> <td class="numLine"> 611</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// detect other types of Throwable and cancel this Timer</span></pre></td></tr>
-<tr> <td class="numLineCover"> 612</td> <td class="nbHitsCovered"><a title="Line 612: Conditional coverage 100% (2/2)."> 15</a></td> <td class="src"><pre class="src"> <a title="Line 612: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!success) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 613</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> cancel();</pre></td></tr>
+<tr> <td class="numLineCover"> 612</td> <td class="nbHitsCovered"><a title="Line 612: Conditional coverage 100% (2/2)."> 30</a></td> <td class="src"><pre class="src"> <a title="Line 612: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!success) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 613</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> cancel();</pre></td></tr>
<tr> <td class="numLine"> 614</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 615</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 616</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 616</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 617</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 618</td> <td class="nbHits"> </td>
@@ -1182,12 +1182,12 @@
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 622</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> String toString() {</pre></td></tr>
-<tr> <td class="numLineCover"> 623</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">final</span> StringBuilder sb = <span class="keyword">new</span> StringBuilder();</pre></td></tr>
-<tr> <td class="numLineCover"> 624</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> sb.append(<span class="string">"ObjectPoolMinIdleTimerTask"</span>);</pre></td></tr>
-<tr> <td class="numLineCover"> 625</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> sb.append(<span class="string">"{minIdle="</span>).append(minIdle);</pre></td></tr>
-<tr> <td class="numLineCover"> 626</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> sb.append(<span class="string">", pool="</span>).append(pool);</pre></td></tr>
-<tr> <td class="numLineCover"> 627</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> sb.append(<span class="string">'}'</span>);</pre></td></tr>
-<tr> <td class="numLineCover"> 628</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> sb.toString();</pre></td></tr>
+<tr> <td class="numLineCover"> 623</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">final</span> StringBuilder sb = <span class="keyword">new</span> StringBuilder();</pre></td></tr>
+<tr> <td class="numLineCover"> 624</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> sb.append(<span class="string">"ObjectPoolMinIdleTimerTask"</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 625</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> sb.append(<span class="string">"{minIdle="</span>).append(minIdle);</pre></td></tr>
+<tr> <td class="numLineCover"> 626</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> sb.append(<span class="string">", pool="</span>).append(pool);</pre></td></tr>
+<tr> <td class="numLineCover"> 627</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> sb.append(<span class="string">'}'</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 628</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> sb.toString();</pre></td></tr>
<tr> <td class="numLine"> 629</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 630</td> <td class="nbHits"> </td>
@@ -1252,17 +1252,17 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 660</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> KeyedObjectPoolMinIdleTimerTask(<span class="keyword">final</span> KeyedObjectPool<K, V> keyedPool,</pre></td></tr>
-<tr> <td class="numLineCover"> 661</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> <span class="keyword">final</span> K key, <span class="keyword">final</span> <span class="keyword">int</span> minIdle) <span class="keyword">throws</span> IllegalArgumentException {</pre></td></tr>
-<tr> <td class="numLineCover"> 662</td> <td class="nbHitsUncovered"><a title="Line 662: Conditional coverage 50% (1/2)."> 5</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 662: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (keyedPool == <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 661</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">final</span> K key, <span class="keyword">final</span> <span class="keyword">int</span> minIdle) <span class="keyword">throws</span> IllegalArgumentException {</pre></td></tr>
+<tr> <td class="numLineCover"> 662</td> <td class="nbHitsUncovered"><a title="Line 662: Conditional coverage 50% (1/2)."> 10</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 662: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (keyedPool == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 663</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(</span></pre></td></tr>
<tr> <td class="numLine"> 664</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="string">"keyedPool must not be null."</span>);</pre></td></tr>
<tr> <td class="numLine"> 665</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 666</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.keyedPool = keyedPool;</pre></td></tr>
-<tr> <td class="numLineCover"> 667</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.key = key;</pre></td></tr>
-<tr> <td class="numLineCover"> 668</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.minIdle = minIdle;</pre></td></tr>
-<tr> <td class="numLineCover"> 669</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 666</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.keyedPool = keyedPool;</pre></td></tr>
+<tr> <td class="numLineCover"> 667</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.key = key;</pre></td></tr>
+<tr> <td class="numLineCover"> 668</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.minIdle = minIdle;</pre></td></tr>
+<tr> <td class="numLineCover"> 669</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 670</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 671</td> <td class="nbHits"> </td>
@@ -1275,31 +1275,31 @@
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 675</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> run() {</pre></td></tr>
-<tr> <td class="numLineCover"> 676</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> success = <span class="keyword">false</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 676</td> <td class="nbHitsCovered"> 36</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> success = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine"> 677</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 678</td> <td class="nbHitsCovered"><a title="Line 678: Conditional coverage 100% (2/2)."> 18</a></td> <td class="src"><pre class="src"> <a title="Line 678: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (keyedPool.getNumIdle(key) < minIdle) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 679</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> keyedPool.addObject(key);</pre></td></tr>
+<tr> <td class="numLineCover"> 678</td> <td class="nbHitsCovered"><a title="Line 678: Conditional coverage 100% (2/2)."> 36</a></td> <td class="src"><pre class="src"> <a title="Line 678: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (keyedPool.getNumIdle(key) < minIdle) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 679</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> keyedPool.addObject(key);</pre></td></tr>
<tr> <td class="numLine"> 680</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 681</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> success = <span class="keyword">true</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 681</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> success = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLine"> 682</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 683</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> } <span class="keyword">catch</span> (Exception e) {</pre></td></tr>
-<tr> <td class="numLineCover"> 684</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> cancel();</pre></td></tr>
+<tr> <td class="numLineCover"> 683</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> } <span class="keyword">catch</span> (Exception e) {</pre></td></tr>
+<tr> <td class="numLineCover"> 684</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> cancel();</pre></td></tr>
<tr> <td class="numLine"> 685</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 686</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } <span class="keyword">finally</span> {</pre></td></tr>
<tr> <td class="numLine"> 687</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// detect other types of Throwable and cancel this Timer</span></pre></td></tr>
-<tr> <td class="numLineCover"> 688</td> <td class="nbHitsCovered"><a title="Line 688: Conditional coverage 100% (2/2)."> 18</a></td> <td class="src"><pre class="src"> <a title="Line 688: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!success) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 689</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> cancel();</pre></td></tr>
+<tr> <td class="numLineCover"> 688</td> <td class="nbHitsCovered"><a title="Line 688: Conditional coverage 100% (2/2)."> 36</a></td> <td class="src"><pre class="src"> <a title="Line 688: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!success) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 689</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> cancel();</pre></td></tr>
<tr> <td class="numLine"> 690</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 691</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 692</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 692</td> <td class="nbHitsCovered"> 36</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 693</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 694</td> <td class="nbHits"> </td>
@@ -1312,13 +1312,13 @@
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 698</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> String toString() {</pre></td></tr>
-<tr> <td class="numLineCover"> 699</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">final</span> StringBuilder sb = <span class="keyword">new</span> StringBuilder();</pre></td></tr>
-<tr> <td class="numLineCover"> 700</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> sb.append(<span class="string">"KeyedObjectPoolMinIdleTimerTask"</span>);</pre></td></tr>
-<tr> <td class="numLineCover"> 701</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> sb.append(<span class="string">"{minIdle="</span>).append(minIdle);</pre></td></tr>
-<tr> <td class="numLineCover"> 702</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> sb.append(<span class="string">", key="</span>).append(key);</pre></td></tr>
-<tr> <td class="numLineCover"> 703</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> sb.append(<span class="string">", keyedPool="</span>).append(keyedPool);</pre></td></tr>
-<tr> <td class="numLineCover"> 704</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> sb.append(<span class="string">'}'</span>);</pre></td></tr>
-<tr> <td class="numLineCover"> 705</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> sb.toString();</pre></td></tr>
+<tr> <td class="numLineCover"> 699</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">final</span> StringBuilder sb = <span class="keyword">new</span> StringBuilder();</pre></td></tr>
+<tr> <td class="numLineCover"> 700</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> sb.append(<span class="string">"KeyedObjectPoolMinIdleTimerTask"</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 701</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> sb.append(<span class="string">"{minIdle="</span>).append(minIdle);</pre></td></tr>
+<tr> <td class="numLineCover"> 702</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> sb.append(<span class="string">", key="</span>).append(key);</pre></td></tr>
+<tr> <td class="numLineCover"> 703</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> sb.append(<span class="string">", keyedPool="</span>).append(keyedPool);</pre></td></tr>
+<tr> <td class="numLineCover"> 704</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> sb.append(<span class="string">'}'</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 705</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> sb.toString();</pre></td></tr>
<tr> <td class="numLine"> 706</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 707</td> <td class="nbHits"> </td>
@@ -1361,7 +1361,7 @@
<td class="src"><pre class="src"> <span class="comment"> * pool.</span></pre></td></tr>
<tr> <td class="numLine"> 726</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 727</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> ReentrantReadWriteLock readWriteLock = <span class="keyword">new</span> ReentrantReadWriteLock();</pre></td></tr>
+<tr> <td class="numLineCover"> 727</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> ReentrantReadWriteLock readWriteLock = <span class="keyword">new</span> ReentrantReadWriteLock();</pre></td></tr>
<tr> <td class="numLine"> 728</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 729</td> <td class="nbHits"> </td>
@@ -1390,13 +1390,13 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 741</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> SynchronizedObjectPool(<span class="keyword">final</span> ObjectPool<T> pool)</pre></td></tr>
-<tr> <td class="numLineCover"> 742</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">throws</span> IllegalArgumentException {</pre></td></tr>
-<tr> <td class="numLineCover"> 743</td> <td class="nbHitsUncovered"><a title="Line 743: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 743: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (pool == <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 742</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throws</span> IllegalArgumentException {</pre></td></tr>
+<tr> <td class="numLineCover"> 743</td> <td class="nbHitsUncovered"><a title="Line 743: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 743: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (pool == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 744</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"pool must not be null."</span>);</span></pre></td></tr>
<tr> <td class="numLine"> 745</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 746</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.pool = pool;</pre></td></tr>
-<tr> <td class="numLineCover"> 747</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 746</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.pool = pool;</pre></td></tr>
+<tr> <td class="numLineCover"> 747</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 748</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 749</td> <td class="nbHits"> </td>
@@ -1411,14 +1411,14 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> T borrowObject() <span class="keyword">throws</span> Exception, NoSuchElementException,</pre></td></tr>
<tr> <td class="numLine"> 754</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> IllegalStateException {</pre></td></tr>
-<tr> <td class="numLineCover"> 755</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> WriteLock writeLock = readWriteLock.writeLock();</pre></td></tr>
-<tr> <td class="numLineCover"> 756</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> writeLock.lock();</pre></td></tr>
+<tr> <td class="numLineCover"> 755</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> WriteLock writeLock = readWriteLock.writeLock();</pre></td></tr>
+<tr> <td class="numLineCover"> 756</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> writeLock.lock();</pre></td></tr>
<tr> <td class="numLine"> 757</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 758</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">return</span> pool.borrowObject();</pre></td></tr>
+<tr> <td class="numLineCover"> 758</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> pool.borrowObject();</pre></td></tr>
<tr> <td class="numLine"> 759</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } <span class="keyword">finally</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 760</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> writeLock.unlock();</pre></td></tr>
+<tr> <td class="numLineCover"> 760</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> writeLock.unlock();</pre></td></tr>
<tr> <td class="numLine"> 761</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 762</td> <td class="nbHits"> </td>
@@ -1435,19 +1435,19 @@
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 768</td> <td class="nbHits"> </td>
[... 1207 lines stripped ...]