You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@turbine.apache.org by gk...@apache.org on 2014/04/07 08:26:44 UTC
svn commit: r905282 [10/14] - in
/websites/production/turbine/content/fulcrum/fulcrum-json: ./ apidocs/
apidocs/org/apache/fulcrum/json/ apidocs/org/apache/fulcrum/json/class-use/
apidocs/org/apache/fulcrum/json/gson/ apidocs/org/apache/fulcrum/json/gs...
Modified: websites/production/turbine/content/fulcrum/fulcrum-json/fulcrum-json-jackson2/cobertura/org.apache.fulcrum.json.jackson.Jackson2MapperService.html
==============================================================================
--- websites/production/turbine/content/fulcrum/fulcrum-json/fulcrum-json-jackson2/cobertura/org.apache.fulcrum.json.jackson.Jackson2MapperService.html (original)
+++ websites/production/turbine/content/fulcrum/fulcrum-json/fulcrum-json-jackson2/cobertura/org.apache.fulcrum.json.jackson.Jackson2MapperService.html Mon Apr 7 06:26:36 2014
@@ -188,7 +188,7 @@
<td class="src"><pre class="src"> <span class="comment"> * </span></pre></td></tr>
<tr> <td class="numLine"> 84</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 85</td> <td class="nbHitsCovered"> 100</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">class</span> Jackson2MapperService <span class="keyword">extends</span> AbstractLogEnabled <span class="keyword">implements</span></pre></td></tr>
+<tr> <td class="numLineCover"> 85</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">class</span> Jackson2MapperService <span class="keyword">extends</span> AbstractLogEnabled <span class="keyword">implements</span></pre></td></tr>
<tr> <td class="numLine"> 86</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> JsonService, Initializable, Configurable {</pre></td></tr>
<tr> <td class="numLine"> 87</td> <td class="nbHits"> </td>
@@ -207,12 +207,12 @@
<td class="src"><pre class="src"> AnnotationIntrospector secondary;</pre></td></tr>
<tr> <td class="numLine"> 94</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 95</td> <td class="nbHitsCovered"> 94</td> <td class="src"><pre class="src"> <span class="keyword">public</span> String ANNOTATIONINSPECTOR = <span class="string">"annotationInspectors"</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 95</td> <td class="nbHitsCovered"> 47</td> <td class="src"><pre class="src"> <span class="keyword">public</span> String ANNOTATIONINSPECTOR = <span class="string">"annotationInspectors"</span>;</pre></td></tr>
<tr> <td class="numLine"> 96</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 97</td> <td class="nbHitsCovered"> 94</td> <td class="src"><pre class="src"> <span class="keyword">private</span> Hashtable<String, String> annotationInspectors = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 98</td> <td class="nbHitsCovered"> 94</td> <td class="src"><pre class="src"> <span class="keyword">private</span> Hashtable<String, Boolean> features = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 99</td> <td class="nbHitsCovered"> 94</td> <td class="src"><pre class="src"> <span class="keyword">private</span> Hashtable<String, String> featureTypes = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 97</td> <td class="nbHitsCovered"> 47</td> <td class="src"><pre class="src"> <span class="keyword">private</span> Hashtable<String, String> annotationInspectors = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 98</td> <td class="nbHitsCovered"> 47</td> <td class="src"><pre class="src"> <span class="keyword">private</span> Hashtable<String, Boolean> features = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 99</td> <td class="nbHitsCovered"> 47</td> <td class="src"><pre class="src"> <span class="keyword">private</span> Hashtable<String, String> featureTypes = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLine"> 100</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 101</td> <td class="nbHits"> </td>
@@ -221,21 +221,21 @@
<td class="src"><pre class="src"> <span class="keyword">private</span> String dateFormat;</pre></td></tr>
<tr> <td class="numLine"> 103</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 104</td> <td class="nbHitsCovered"> 94</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String DEFAULTDATEFORMAT = <span class="string">"MM/dd/yyyy"</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 104</td> <td class="nbHitsCovered"> 47</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String DEFAULTDATEFORMAT = <span class="string">"MM/dd/yyyy"</span>;</pre></td></tr>
<tr> <td class="numLine"> 105</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 106</td> <td class="nbHitsCovered"> 94</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">boolean</span> defaultType = <span class="keyword">false</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 107</td> <td class="nbHitsCovered"> 94</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">boolean</span> cacheFilters = <span class="keyword">true</span>; <span class="comment">// true -> this is by default true in jackson, if not using</span></pre></td></tr>
+<tr> <td class="numLineCover"> 106</td> <td class="nbHitsCovered"> 47</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">boolean</span> defaultType = <span class="keyword">false</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 107</td> <td class="nbHitsCovered"> 47</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">boolean</span> cacheFilters = <span class="keyword">true</span>; <span class="comment">// true -> this is by default true in jackson, if not using</span></pre></td></tr>
<tr> <td class="numLine"> 108</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// multiple serialization in one thread</span></pre></td></tr>
-<tr> <td class="numLineCover"> 109</td> <td class="nbHitsCovered"> 94</td> <td class="src"><pre class="src"> String[] defaultTypeDefs = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 109</td> <td class="nbHitsCovered"> 47</td> <td class="src"><pre class="src"> String[] defaultTypeDefs = <span class="keyword">null</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="numLine"> 111</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 112</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> String ser(Object src) <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover"> 113</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">return</span> ser(src, <span class="keyword">false</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 113</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> <span class="keyword">return</span> ser(src, <span class="keyword">false</span>);</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>
@@ -244,38 +244,38 @@
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 117</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <T> String ser(Object src, Class<T> type) <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover"> 118</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> ser(src, type, <span class="keyword">false</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 118</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> ser(src, type, <span class="keyword">false</span>);</pre></td></tr>
<tr> <td class="numLine"> 119</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 120</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 121</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <T> String ser(Object src, FilterProvider filter) <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover"> 122</td> <td class="nbHitsCovered"> 46</td> <td class="src"><pre class="src"> <span class="keyword">return</span> ser(src, filter, <span class="keyword">false</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 122</td> <td class="nbHitsCovered"> 23</td> <td class="src"><pre class="src"> <span class="keyword">return</span> ser(src, filter, <span class="keyword">false</span>);</pre></td></tr>
<tr> <td class="numLine"> 123</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 124</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 125</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <T> String ser(Object src, FilterProvider filter, Boolean cleanCache) <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover"> 126</td> <td class="nbHitsCovered"> 46</td> <td class="src"><pre class="src"> String serResult= <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 127</td> <td class="nbHitsUncovered"><a title="Line 127: Conditional coverage 50% (1/2)."> 46</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 127: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (src == <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 126</td> <td class="nbHitsCovered"> 23</td> <td class="src"><pre class="src"> String serResult= <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 127</td> <td class="nbHitsUncovered"><a title="Line 127: Conditional coverage 50% (1/2)."> 23</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 127: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (src == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 128</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> getLogger().info(<span class="string">"no serializable object."</span>);</span></pre></td></tr>
<tr> <td class="numLineCover"> 129</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> serResult;</span></pre></td></tr>
<tr> <td class="numLine"> 130</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } </pre></td></tr>
-<tr> <td class="numLineCover"> 131</td> <td class="nbHitsUncovered"><a title="Line 131: Conditional coverage 50% (1/2)."> 46</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 131: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (filter == <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 131</td> <td class="nbHitsUncovered"><a title="Line 131: Conditional coverage 50% (1/2)."> 23</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 131: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (filter == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 132</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> getLogger().debug(<span class="string">"ser class::"</span> + src.getClass() + <span class="string">" without filter."</span>); </span></pre></td></tr>
<tr> <td class="numLineCover"> 133</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> ser(src);</span></pre></td></tr>
<tr> <td class="numLine"> 134</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } </pre></td></tr>
-<tr> <td class="numLineCover"> 135</td> <td class="nbHitsCovered"> 46</td> <td class="src"><pre class="src"> getLogger().debug(<span class="string">"ser class::"</span> + src.getClass() + <span class="string">" with filter "</span> + filter);</pre></td></tr>
-<tr> <td class="numLineCover"> 136</td> <td class="nbHitsCovered"> 46</td> <td class="src"><pre class="src"> String res = mapper.writer(filter).writeValueAsString(src);</pre></td></tr>
-<tr> <td class="numLineCover"> 137</td> <td class="nbHitsUncovered"><a title="Line 137: Conditional coverage 50% (1/2)."> 46</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 137: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (cleanCache) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 135</td> <td class="nbHitsCovered"> 23</td> <td class="src"><pre class="src"> getLogger().debug(<span class="string">"ser class::"</span> + src.getClass() + <span class="string">" with filter "</span> + filter);</pre></td></tr>
+<tr> <td class="numLineCover"> 136</td> <td class="nbHitsCovered"> 23</td> <td class="src"><pre class="src"> String res = mapper.writer(filter).writeValueAsString(src);</pre></td></tr>
+<tr> <td class="numLineCover"> 137</td> <td class="nbHitsUncovered"><a title="Line 137: Conditional coverage 50% (1/2)."> 23</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 137: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (cleanCache) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 138</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> cleanSerializerCache();</span></pre></td></tr>
<tr> <td class="numLine"> 139</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 140</td> <td class="nbHitsCovered"> 46</td> <td class="src"><pre class="src"> <span class="keyword">return</span> res;</pre></td></tr>
+<tr> <td class="numLineCover"> 140</td> <td class="nbHitsCovered"> 23</td> <td class="src"><pre class="src"> <span class="keyword">return</span> res;</pre></td></tr>
<tr> <td class="numLine"> 141</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 142</td> <td class="nbHits"> </td>
@@ -284,15 +284,15 @@
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 144</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <T> T deSer(String json, Class<T> type) <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover"> 145</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> ObjectReader reader = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 146</td> <td class="nbHitsUncovered"><a title="Line 146: Conditional coverage 50% (1/2)."> 20</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 146: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (type != <span class="keyword">null</span>)</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 147</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> reader = mapper.reader(type);</pre></td></tr>
+<tr> <td class="numLineCover"> 145</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> ObjectReader reader = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 146</td> <td class="nbHitsUncovered"><a title="Line 146: Conditional coverage 50% (1/2)."> 10</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 146: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (type != <span class="keyword">null</span>)</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 147</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> reader = mapper.reader(type);</pre></td></tr>
<tr> <td class="numLine"> 148</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">else</span></pre></td></tr>
<tr> <td class="numLineCover"> 149</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> reader = mapper.reader();</span></pre></td></tr>
<tr> <td class="numLine"> 150</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 151</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">return</span> reader.readValue(json);</pre></td></tr>
+<tr> <td class="numLineCover"> 151</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">return</span> reader.readValue(json);</pre></td></tr>
<tr> <td class="numLine"> 152</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 153</td> <td class="nbHits"> </td>
@@ -301,7 +301,7 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> <T> Collection<T> deSerCollection2(String json, Class<? <span class="keyword">extends</span> Collection> collectionClass, Class<T> type)</pre></td></tr>
<tr> <td class="numLine"> 155</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover"> 156</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> mapper.readValue(json, mapper.getTypeFactory()</pre></td></tr>
+<tr> <td class="numLineCover"> 156</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> mapper.readValue(json, mapper.getTypeFactory()</pre></td></tr>
<tr> <td class="numLine"> 157</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> .constructCollectionType(collectionClass, type));</pre></td></tr>
<tr> <td class="numLine"> 158</td> <td class="nbHits"> </td>
@@ -339,10 +339,10 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> JsonService addAdapter(String name, Class target, Class mixin)</pre></td></tr>
<tr> <td class="numLine"> 175</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover"> 176</td> <td class="nbHitsCovered"> 36</td> <td class="src"><pre class="src"> Module mx = <span class="keyword">new</span> MixinModule(name, target, mixin);</pre></td></tr>
-<tr> <td class="numLineCover"> 177</td> <td class="nbHitsCovered"> 36</td> <td class="src"><pre class="src"> getLogger().debug(<span class="string">"registering unversioned simple mixin module named "</span> + name + <span class="string">" of type "</span> + mixin + <span class="string">" for: "</span> + target);</pre></td></tr>
-<tr> <td class="numLineCover"> 178</td> <td class="nbHitsCovered"> 36</td> <td class="src"><pre class="src"> mapper.registerModule(mx);</pre></td></tr>
-<tr> <td class="numLineCover"> 179</td> <td class="nbHitsCovered"> 36</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">this</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 176</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> Module mx = <span class="keyword">new</span> MixinModule(name, target, mixin);</pre></td></tr>
+<tr> <td class="numLineCover"> 177</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> getLogger().debug(<span class="string">"registering unversioned simple mixin module named "</span> + name + <span class="string">" of type "</span> + mixin + <span class="string">" for: "</span> + target);</pre></td></tr>
+<tr> <td class="numLineCover"> 178</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> mapper.registerModule(mx);</pre></td></tr>
+<tr> <td class="numLineCover"> 179</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">this</span>;</pre></td></tr>
<tr> <td class="numLine"> 180</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 181</td> <td class="nbHits"> </td>
@@ -379,14 +379,14 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> JsonService addAdapter(String name, Class target, Object module)</pre></td></tr>
<tr> <td class="numLine"> 197</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover"> 198</td> <td class="nbHitsUncovered"><a title="Line 198: Conditional coverage 50% (1/2)."> 6</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 198: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (module <span class="keyword">instanceof</span> CustomModuleWrapper) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 199</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> CustomModuleWrapper cmw = (CustomModuleWrapper) module;</pre></td></tr>
-<tr> <td class="numLineCover"> 200</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> Module cm = <span class="keyword">new</span> CustomModule(name, target, cmw.getSer(),</pre></td></tr>
+<tr> <td class="numLineCover"> 198</td> <td class="nbHitsUncovered"><a title="Line 198: Conditional coverage 50% (1/2)."> 3</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 198: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (module <span class="keyword">instanceof</span> CustomModuleWrapper) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 199</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> CustomModuleWrapper cmw = (CustomModuleWrapper) module;</pre></td></tr>
+<tr> <td class="numLineCover"> 200</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> Module cm = <span class="keyword">new</span> CustomModule(name, target, cmw.getSer(),</pre></td></tr>
<tr> <td class="numLine"> 201</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> cmw.getDeSer());</pre></td></tr>
-<tr> <td class="numLineCover"> 202</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> getLogger().debug(<span class="string">"registering custom module "</span> + cm + <span class="string">" for: "</span> + target);</pre></td></tr>
-<tr> <td class="numLineCover"> 203</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> mapper.registerModule(cm);</pre></td></tr>
-<tr> <td class="numLineCover"> 204</td> <td class="nbHitsUncovered"><a title="Line 204: Conditional coverage 0% (0/2)."> 6</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 204: Conditional coverage 0% (0/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (module <span class="keyword">instanceof</span> Module) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 202</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> getLogger().debug(<span class="string">"registering custom module "</span> + cm + <span class="string">" for: "</span> + target);</pre></td></tr>
+<tr> <td class="numLineCover"> 203</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> mapper.registerModule(cm);</pre></td></tr>
+<tr> <td class="numLineCover"> 204</td> <td class="nbHitsUncovered"><a title="Line 204: Conditional coverage 0% (0/2)."> 3</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 204: Conditional coverage 0% (0/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (module <span class="keyword">instanceof</span> Module) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 205</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> getLogger().debug(</span></pre></td></tr>
<tr> <td class="numLine"> 206</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="string">"registering module "</span> + module + <span class="string">" for: "</span> + target);</pre></td></tr>
@@ -396,7 +396,7 @@
<tr> <td class="numLineCover"> 209</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> Exception(<span class="string">"expecting module type"</span> + Module.<span class="keyword">class</span>);</span></pre></td></tr>
<tr> <td class="numLine"> 210</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 211</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">this</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 211</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">this</span>;</pre></td></tr>
<tr> <td class="numLine"> 212</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 213</td> <td class="nbHits"> </td>
@@ -420,7 +420,7 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">synchronized</span> <T> String serializeAllExceptFilter(Object src,</pre></td></tr>
<tr> <td class="numLine"> 224</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> Class<T> filterClass, String... filterAttr) <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover"> 225</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">return</span> serializeAllExceptFilter(src, filterClass, <span class="keyword">false</span>, filterAttr);</pre></td></tr>
+<tr> <td class="numLineCover"> 225</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> <span class="keyword">return</span> serializeAllExceptFilter(src, filterClass, <span class="keyword">false</span>, filterAttr);</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="numLine"> 227</td> <td class="nbHits"> </td>
@@ -429,12 +429,12 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">synchronized</span> <T> String serializeAllExceptFilter(Object src,</pre></td></tr>
<tr> <td class="numLine"> 229</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> Class<T> filterClass, Boolean clean, String... filterAttr) <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover"> 230</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> FilterContext fc = <span class="keyword">new</span> FilterContext();</pre></td></tr>
-<tr> <td class="numLineCover"> 231</td> <td class="nbHitsCovered"><a title="Line 231: Conditional coverage 100% (2/2)."> 10</a></td> <td class="src"><pre class="src"> <a title="Line 231: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (filterAttr != <span class="keyword">null</span>)</a></pre></td></tr>
-<tr> <td class="numLineCover"> 232</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> fc.setFilter(SimpleBeanPropertyFilter</pre></td></tr>
+<tr> <td class="numLineCover"> 230</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> FilterContext fc = <span class="keyword">new</span> FilterContext();</pre></td></tr>
+<tr> <td class="numLineCover"> 231</td> <td class="nbHitsCovered"><a title="Line 231: Conditional coverage 100% (2/2)."> 5</a></td> <td class="src"><pre class="src"> <a title="Line 231: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (filterAttr != <span class="keyword">null</span>)</a></pre></td></tr>
+<tr> <td class="numLineCover"> 232</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> fc.setFilter(SimpleBeanPropertyFilter</pre></td></tr>
<tr> <td class="numLine"> 233</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> .serializeAllExcept(filterAttr));</pre></td></tr>
-<tr> <td class="numLineCover"> 234</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">return</span> filter(src, filterClass, fc, clean, filterAttr);</pre></td></tr>
+<tr> <td class="numLineCover"> 234</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> <span class="keyword">return</span> filter(src, filterClass, fc, clean, filterAttr);</pre></td></tr>
<tr> <td class="numLine"> 235</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 236</td> <td class="nbHits"> </td>
@@ -445,7 +445,7 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">synchronized</span> <T> String serializeOnlyFilter(Object src,</pre></td></tr>
<tr> <td class="numLine"> 239</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> Class<T> filterClass, String... filterAttr) <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover"> 240</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> <span class="keyword">return</span> serializeOnlyFilter(src, filterClass, <span class="keyword">false</span>, filterAttr);</pre></td></tr>
+<tr> <td class="numLineCover"> 240</td> <td class="nbHitsCovered"> 17</td> <td class="src"><pre class="src"> <span class="keyword">return</span> serializeOnlyFilter(src, filterClass, <span class="keyword">false</span>, filterAttr);</pre></td></tr>
<tr> <td class="numLine"> 241</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 242</td> <td class="nbHits"> </td>
@@ -456,13 +456,13 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">synchronized</span> <T> String serializeOnlyFilter(Object src,</pre></td></tr>
<tr> <td class="numLine"> 245</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> Class<T> filterClass, Boolean refresh, String... filterAttr) <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover"> 246</td> <td class="nbHitsCovered"> 36</td> <td class="src"><pre class="src"> FilterContext fc = <span class="keyword">new</span> FilterContext();</pre></td></tr>
-<tr> <td class="numLineCover"> 247</td> <td class="nbHitsUncovered"><a title="Line 247: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 36</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 247: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (filterAttr != <span class="keyword">null</span> && filterAttr.length > 0) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 248</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> fc.setFilter(SimpleBeanPropertyFilter.filterOutAllExcept(filterAttr));</pre></td></tr>
-<tr> <td class="numLineCover"> 249</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> getLogger().debug(<span class="string">"setting filteroutAllexcept filter for size of filterAttr: "</span> + filterAttr.length);</pre></td></tr>
+<tr> <td class="numLineCover"> 246</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> FilterContext fc = <span class="keyword">new</span> FilterContext();</pre></td></tr>
+<tr> <td class="numLineCover"> 247</td> <td class="nbHitsUncovered"><a title="Line 247: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 18</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 247: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (filterAttr != <span class="keyword">null</span> && filterAttr.length > 0) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 248</td> <td class="nbHitsCovered"> 17</td> <td class="src"><pre class="src"> fc.setFilter(SimpleBeanPropertyFilter.filterOutAllExcept(filterAttr));</pre></td></tr>
+<tr> <td class="numLineCover"> 249</td> <td class="nbHitsCovered"> 17</td> <td class="src"><pre class="src"> getLogger().debug(<span class="string">"setting filteroutAllexcept filter for size of filterAttr: "</span> + filterAttr.length);</pre></td></tr>
<tr> <td class="numLine"> 250</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 251</td> <td class="nbHitsCovered"> 36</td> <td class="src"><pre class="src"> <span class="keyword">return</span> filter(src, filterClass, fc, refresh, filterAttr);</pre></td></tr>
+<tr> <td class="numLineCover"> 251</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> <span class="keyword">return</span> filter(src, filterClass, fc, refresh, filterAttr);</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="numLine"> 253</td> <td class="nbHits"> </td>
@@ -471,7 +471,7 @@
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 255</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> String ser(Object src, Boolean cleanCache) <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover"> 256</td> <td class="nbHitsUncovered"><a title="Line 256: Conditional coverage 50% (1/2)."> 56</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 256: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (filters.containsKey(src.getClass().getName())) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 256</td> <td class="nbHitsUncovered"><a title="Line 256: Conditional coverage 50% (1/2)."> 28</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 256: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (filters.containsKey(src.getClass().getName())) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 257</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> getLogger().warn(</span></pre></td></tr>
<tr> <td class="numLine"> 258</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="string">"Found registered filter - using instead of default view filter for class:"</span></pre></td></tr>
@@ -489,12 +489,12 @@
<tr> <td class="numLineCover"> 265</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> ser(src, filter);<span class="comment">//mapper.writerWithView(src.getClass()).writeValueAsString(src);</span></span></pre></td></tr>
<tr> <td class="numLine"> 266</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 267</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> String res = mapper.writerWithView(Object.<span class="keyword">class</span>).writeValueAsString(src);</pre></td></tr>
-<tr> <td class="numLineCover"> 268</td> <td class="nbHitsUncovered"><a title="Line 268: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 56</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 268: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (cleanCache != <span class="keyword">null</span> && cleanCache) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 267</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> String res = mapper.writerWithView(Object.<span class="keyword">class</span>).writeValueAsString(src);</pre></td></tr>
+<tr> <td class="numLineCover"> 268</td> <td class="nbHitsUncovered"><a title="Line 268: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 28</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 268: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (cleanCache != <span class="keyword">null</span> && cleanCache) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 269</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> cleanSerializerCache();</span></pre></td></tr>
<tr> <td class="numLine"> 270</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 271</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">return</span> res;</pre></td></tr>
+<tr> <td class="numLineCover"> 271</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> <span class="keyword">return</span> res;</pre></td></tr>
<tr> <td class="numLine"> 272</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 273</td> <td class="nbHits"> </td>
@@ -505,8 +505,8 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> <T> String ser(Object src, Class<T> type, Boolean cleanCache)</pre></td></tr>
<tr> <td class="numLine"> 276</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover"> 277</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> getLogger().info(<span class="string">"serializing object:"</span> + src + <span class="string">" for type "</span>+ type);</pre></td></tr>
-<tr> <td class="numLineCover"> 278</td> <td class="nbHitsUncovered"><a title="Line 278: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 6</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 278: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (src != <span class="keyword">null</span> && filters.containsKey(src.getClass().getName())) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 277</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> getLogger().info(<span class="string">"serializing object:"</span> + src + <span class="string">" for type "</span>+ type);</pre></td></tr>
+<tr> <td class="numLineCover"> 278</td> <td class="nbHitsUncovered"><a title="Line 278: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 3</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 278: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (src != <span class="keyword">null</span> && filters.containsKey(src.getClass().getName())) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 279</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> getLogger()</span></pre></td></tr>
<tr> <td class="numLine"> 280</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> .warn(<span class="string">"Found registered filter - could not use custom view and custom filter for class:"</span></pre></td></tr>
@@ -526,12 +526,12 @@
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 289</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 290</td> <td class="nbHitsUncovered"><a title="Line 290: Conditional coverage 50% (1/2)."> 6</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 290: Conditional coverage 50% (1/2)."> String res = (type != <span class="keyword">null</span>)? mapper.writerWithView(type).writeValueAsString(src): mapper.writeValueAsString(src);</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 291</td> <td class="nbHitsCovered"><a title="Line 291: Conditional coverage 100% (2/2)."> 6</a></td> <td class="src"><pre class="src"> <a title="Line 291: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (cleanCache) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 292</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> cleanSerializerCache();</pre></td></tr>
+<tr> <td class="numLineCover"> 290</td> <td class="nbHitsUncovered"><a title="Line 290: Conditional coverage 50% (1/2)."> 3</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 290: Conditional coverage 50% (1/2)."> String res = (type != <span class="keyword">null</span>)? mapper.writerWithView(type).writeValueAsString(src): mapper.writeValueAsString(src);</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 291</td> <td class="nbHitsCovered"><a title="Line 291: Conditional coverage 100% (2/2)."> 3</a></td> <td class="src"><pre class="src"> <a title="Line 291: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (cleanCache) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 292</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> cleanSerializerCache();</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="numLineCover"> 294</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">return</span> res;</pre></td></tr>
+<tr> <td class="numLineCover"> 294</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">return</span> res;</pre></td></tr>
<tr> <td class="numLine"> 295</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } </pre></td></tr>
<tr> <td class="numLine"> 296</td> <td class="nbHits"> </td>
@@ -540,21 +540,21 @@
<td class="src"><pre class="src"> <span class="keyword">private</span> <T> String filter(Object src, Class<T> filterClass,</pre></td></tr>
<tr> <td class="numLine"> 298</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> FilterContext fc, Boolean clean, String... filterAttr) <span class="keyword">throws</span> Exception {</pre></td></tr>
-<tr> <td class="numLineCover"> 299</td> <td class="nbHitsCovered"> 46</td> <td class="src"><pre class="src"> FilterProvider filter = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 300</td> <td class="nbHitsUncovered"><a title="Line 300: Conditional coverage 50% (1/2)."> 46</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 300: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (src != <span class="keyword">null</span>) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 301</td> <td class="nbHitsCovered"> 46</td> <td class="src"><pre class="src"> filter = checkFilter(fc, src.getClass(), filterClass,</pre></td></tr>
+<tr> <td class="numLineCover"> 299</td> <td class="nbHitsCovered"> 23</td> <td class="src"><pre class="src"> FilterProvider filter = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 300</td> <td class="nbHitsUncovered"><a title="Line 300: Conditional coverage 50% (1/2)."> 23</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 300: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (src != <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 301</td> <td class="nbHitsCovered"> 23</td> <td class="src"><pre class="src"> filter = checkFilter(fc, src.getClass(), filterClass,</pre></td></tr>
<tr> <td class="numLine"> 302</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> filterAttr);</pre></td></tr>
<tr> <td class="numLine"> 303</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 304</td> <td class="nbHitsCovered"> 46</td> <td class="src"><pre class="src"> getLogger().info(<span class="string">"filtering with filter "</span>+ filter);</pre></td></tr>
-<tr> <td class="numLineCover"> 305</td> <td class="nbHitsCovered"> 46</td> <td class="src"><pre class="src"> String serialized = ser(src, filter);</pre></td></tr>
-<tr> <td class="numLineCover"> 306</td> <td class="nbHitsUncovered"><a title="Line 306: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> 46</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 306: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> <span class="keyword">if</span> (!cacheFilters || clean) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 307</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> removeFilter(filterClass);</pre></td></tr>
-<tr> <td class="numLineCover"> 308</td> <td class="nbHitsUncovered"><a title="Line 308: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 308: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (src != <span class="keyword">null</span>) removeFilter(src.getClass());</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 304</td> <td class="nbHitsCovered"> 23</td> <td class="src"><pre class="src"> getLogger().info(<span class="string">"filtering with filter "</span>+ filter);</pre></td></tr>
+<tr> <td class="numLineCover"> 305</td> <td class="nbHitsCovered"> 23</td> <td class="src"><pre class="src"> String serialized = ser(src, filter);</pre></td></tr>
+<tr> <td class="numLineCover"> 306</td> <td class="nbHitsUncovered"><a title="Line 306: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> 23</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 306: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> <span class="keyword">if</span> (!cacheFilters || clean) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 307</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> removeFilter(filterClass);</pre></td></tr>
+<tr> <td class="numLineCover"> 308</td> <td class="nbHitsUncovered"><a title="Line 308: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 308: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (src != <span class="keyword">null</span>) removeFilter(src.getClass());</a></span></pre></td></tr>
<tr> <td class="numLine"> 309</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 310</td> <td class="nbHitsCovered"> 46</td> <td class="src"><pre class="src"> <span class="keyword">return</span> serialized;</pre></td></tr>
+<tr> <td class="numLineCover"> 310</td> <td class="nbHitsCovered"> 23</td> <td class="src"><pre class="src"> <span class="keyword">return</span> serialized;</pre></td></tr>
<tr> <td class="numLine"> 311</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 312</td> <td class="nbHits"> </td>
@@ -565,20 +565,20 @@
<td class="src"><pre class="src"> <span class="keyword">private</span> <T> FilterProvider checkFilter(FilterContext fc,</pre></td></tr>
<tr> <td class="numLine"> 315</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> Class rootFilterClass, Class<T> filterClass, String... filterAttr) {</pre></td></tr>
-<tr> <td class="numLineCover"> 316</td> <td class="nbHitsCovered"> 46</td> <td class="src"><pre class="src"> SimpleFilterProvider filter = <span class="keyword">new</span> SimpleFilterProvider();</pre></td></tr>
-<tr> <td class="numLineCover"> 317</td> <td class="nbHitsUncovered"><a title="Line 317: Conditional coverage 87% (7/8) [each condition: 100%, 50%, 100%, 100%]."> 46</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 317: Conditional coverage 87% (7/8) [each condition: 100%, 50%, 100%, 100%]."> <span class="keyword">if</span> (filterAttr != <span class="keyword">null</span> && filterAttr.length > 0</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 316</td> <td class="nbHitsCovered"> 23</td> <td class="src"><pre class="src"> SimpleFilterProvider filter = <span class="keyword">new</span> SimpleFilterProvider();</pre></td></tr>
+<tr> <td class="numLineCover"> 317</td> <td class="nbHitsUncovered"><a title="Line 317: Conditional coverage 87% (7/8) [each condition: 100%, 50%, 100%, 100%]."> 23</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 317: Conditional coverage 87% (7/8) [each condition: 100%, 50%, 100%, 100%]."> <span class="keyword">if</span> (filterAttr != <span class="keyword">null</span> && filterAttr.length > 0</a></span></pre></td></tr>
<tr> <td class="numLine"> 318</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> && (filterClass == <span class="keyword">null</span> || !rootFilterClass.equals(filterClass))) {</pre></td></tr>
<tr> <td class="numLine"> 319</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// filter attributes in root class</span></pre></td></tr>
-<tr> <td class="numLineCover"> 320</td> <td class="nbHitsCovered"> 22</td> <td class="src"><pre class="src"> filter = retrieveFilter(filter, fc, rootFilterClass, filterAttr);</pre></td></tr>
+<tr> <td class="numLineCover"> 320</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> filter = retrieveFilter(filter, fc, rootFilterClass, filterAttr);</pre></td></tr>
<tr> <td class="numLine"> 321</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 322</td> <td class="nbHitsCovered"><a title="Line 322: Conditional coverage 100% (2/2)."> 46</a></td> <td class="src"><pre class="src"> <a title="Line 322: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (filterClass != <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 323</td> <td class="nbHitsCovered"> 38</td> <td class="src"><pre class="src"> filter = retrieveFilter(filter, fc, filterClass, filterAttr);</pre></td></tr>
+<tr> <td class="numLineCover"> 322</td> <td class="nbHitsCovered"><a title="Line 322: Conditional coverage 100% (2/2)."> 23</a></td> <td class="src"><pre class="src"> <a title="Line 322: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (filterClass != <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 323</td> <td class="nbHitsCovered"> 19</td> <td class="src"><pre class="src"> filter = retrieveFilter(filter, fc, filterClass, filterAttr);</pre></td></tr>
<tr> <td class="numLine"> 324</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 325</td> <td class="nbHitsCovered"> 46</td> <td class="src"><pre class="src"> <span class="keyword">return</span> filter;</pre></td></tr>
+<tr> <td class="numLineCover"> 325</td> <td class="nbHitsCovered"> 23</td> <td class="src"><pre class="src"> <span class="keyword">return</span> filter;</pre></td></tr>
<tr> <td class="numLine"> 326</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 327</td> <td class="nbHits"> </td>
@@ -587,16 +587,16 @@
<td class="src"><pre class="src"> <span class="keyword">private</span> <T> SimpleFilterProvider retrieveFilter(SimpleFilterProvider filter, FilterContext fc,</pre></td></tr>
<tr> <td class="numLine"> 329</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> Class<T> filterClass, String... filterAttr) {</pre></td></tr>
-<tr> <td class="numLineCover"> 330</td> <td class="nbHitsUncovered"><a title="Line 330: Conditional coverage 50% (1/2)."> 60</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 330: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!<span class="keyword">this</span>.filters.containsKey(filterClass.getName())) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 331</td> <td class="nbHitsCovered"> 60</td> <td class="src"><pre class="src"> getLogger().debug(<span class="string">"add filter for class "</span> + filterClass.getName());</pre></td></tr>
-<tr> <td class="numLineCover"> 332</td> <td class="nbHitsCovered"><a title="Line 332: Conditional coverage 100% (2/2)."> 60</a></td> <td class="src"><pre class="src"> <a title="Line 332: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (fc.getFilter() != <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 333</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> filter.addFilter(filterClass.getName(), fc.getFilter());</pre></td></tr>
+<tr> <td class="numLineCover"> 330</td> <td class="nbHitsUncovered"><a title="Line 330: Conditional coverage 50% (1/2)."> 30</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 330: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!<span class="keyword">this</span>.filters.containsKey(filterClass.getName())) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 331</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> getLogger().debug(<span class="string">"add filter for class "</span> + filterClass.getName());</pre></td></tr>
+<tr> <td class="numLineCover"> 332</td> <td class="nbHitsCovered"><a title="Line 332: Conditional coverage 100% (2/2)."> 30</a></td> <td class="src"><pre class="src"> <a title="Line 332: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (fc.getFilter() != <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 333</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> filter.addFilter(filterClass.getName(), fc.getFilter());</pre></td></tr>
<tr> <td class="numLine"> 334</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 335</td> <td class="nbHitsCovered"> 60</td> <td class="src"><pre class="src"> setCustomIntrospectorWithExternalFilterId(filterClass); <span class="comment">// filter</span></pre></td></tr>
+<tr> <td class="numLineCover"> 335</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> setCustomIntrospectorWithExternalFilterId(filterClass); <span class="comment">// filter</span></pre></td></tr>
<tr> <td class="numLine"> 336</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// class</span></pre></td></tr>
-<tr> <td class="numLineCover"> 337</td> <td class="nbHitsCovered"> 60</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.filters.put(filterClass.getName(), (FilterProvider) filter);</pre></td></tr>
+<tr> <td class="numLineCover"> 337</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.filters.put(filterClass.getName(), (FilterProvider) filter);</pre></td></tr>
<tr> <td class="numLine"> 338</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover"> 339</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> filter = (SimpleFilterProvider) <span class="keyword">this</span>.filters.get(filterClass</span></pre></td></tr>
@@ -608,66 +608,66 @@
<td class="src"><pre class="src"> <span class="comment">// class</span></pre></td></tr>
<tr> <td class="numLine"> 343</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 344</td> <td class="nbHitsCovered"> 60</td> <td class="src"><pre class="src"> getLogger().debug(<span class="string">"set filter:"</span>+ filter);</pre></td></tr>
-<tr> <td class="numLineCover"> 345</td> <td class="nbHitsCovered"> 60</td> <td class="src"><pre class="src"> <span class="keyword">return</span> filter;</pre></td></tr>
+<tr> <td class="numLineCover"> 344</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> getLogger().debug(<span class="string">"set filter:"</span>+ filter);</pre></td></tr>
+<tr> <td class="numLineCover"> 345</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> <span class="keyword">return</span> filter;</pre></td></tr>
<tr> <td class="numLine"> 346</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 347</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 348</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <T> <span class="keyword">void</span> removeFilter(Class<T> filterClass) {</pre></td></tr>
-<tr> <td class="numLineCover"> 349</td> <td class="nbHitsUncovered"><a title="Line 349: Conditional coverage 50% (1/2)."> 4</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 349: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (filterClass == <span class="keyword">null</span>)</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 349</td> <td class="nbHitsUncovered"><a title="Line 349: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 349: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (filterClass == <span class="keyword">null</span>)</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 350</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span>;</span></pre></td></tr>
-<tr> <td class="numLineCover"> 351</td> <td class="nbHitsCovered"><a title="Line 351: Conditional coverage 100% (2/2)."> 4</a></td> <td class="src"><pre class="src"> <a title="Line 351: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (<span class="keyword">this</span>.filters.containsKey(filterClass.getName())) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 352</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> removeCustomIntrospectorWithExternalFilterId(filterClass);</pre></td></tr>
-<tr> <td class="numLineCover"> 353</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> SimpleFilterProvider smpfilter = (SimpleFilterProvider) <span class="keyword">this</span>.filters</pre></td></tr>
+<tr> <td class="numLineCover"> 351</td> <td class="nbHitsCovered"><a title="Line 351: Conditional coverage 100% (2/2)."> 2</a></td> <td class="src"><pre class="src"> <a title="Line 351: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (<span class="keyword">this</span>.filters.containsKey(filterClass.getName())) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 352</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> removeCustomIntrospectorWithExternalFilterId(filterClass);</pre></td></tr>
+<tr> <td class="numLineCover"> 353</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> SimpleFilterProvider smpfilter = (SimpleFilterProvider) <span class="keyword">this</span>.filters</pre></td></tr>
<tr> <td class="numLine"> 354</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> .get(filterClass.getName());</pre></td></tr>
-<tr> <td class="numLineCover"> 355</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> smpfilter.removeFilter(filterClass.getName());</pre></td></tr>
-<tr> <td class="numLineCover"> 356</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.filters.remove(filterClass.getName());</pre></td></tr>
-<tr> <td class="numLineCover"> 357</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> cleanSerializerCache();</pre></td></tr>
-<tr> <td class="numLineCover"> 358</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> getLogger().debug(</pre></td></tr>
+<tr> <td class="numLineCover"> 355</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> smpfilter.removeFilter(filterClass.getName());</pre></td></tr>
+<tr> <td class="numLineCover"> 356</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.filters.remove(filterClass.getName());</pre></td></tr>
+<tr> <td class="numLineCover"> 357</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> cleanSerializerCache();</pre></td></tr>
+<tr> <td class="numLineCover"> 358</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> getLogger().debug(</pre></td></tr>
<tr> <td class="numLine"> 359</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="string">"removed from SimpleFilterProvider filters "</span></pre></td></tr>
<tr> <td class="numLine"> 360</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> + filterClass.getName());</pre></td></tr>
<tr> <td class="numLine"> 361</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 362</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 362</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 363</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 364</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">void</span> cleanSerializerCache() {</pre></td></tr>
-<tr> <td class="numLineCover"> 365</td> <td class="nbHitsUncovered"><a title="Line 365: Conditional coverage 50% (1/2)."> 4</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 365: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (mapper.getSerializerProvider() <span class="keyword">instanceof</span> DefaultSerializerProvider) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 366</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">int</span> cachedSerProvs = ((DefaultSerializerProvider) mapper</pre></td></tr>
+<tr> <td class="numLineCover"> 365</td> <td class="nbHitsUncovered"><a title="Line 365: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 365: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (mapper.getSerializerProvider() <span class="keyword">instanceof</span> DefaultSerializerProvider) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 366</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">int</span> cachedSerProvs = ((DefaultSerializerProvider) mapper</pre></td></tr>
<tr> <td class="numLine"> 367</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> .getSerializerProvider()).cachedSerializersCount();</pre></td></tr>
-<tr> <td class="numLineCover"> 368</td> <td class="nbHitsUncovered"><a title="Line 368: Conditional coverage 50% (1/2)."> 4</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 368: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (cachedSerProvs > 0) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 369</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> getLogger()</pre></td></tr>
+<tr> <td class="numLineCover"> 368</td> <td class="nbHitsUncovered"><a title="Line 368: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 368: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (cachedSerProvs > 0) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 369</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> getLogger()</pre></td></tr>
<tr> <td class="numLine"> 370</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> .debug(<span class="string">"flushing cachedSerializersCount:"</span></pre></td></tr>
<tr> <td class="numLine"> 371</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> + cachedSerProvs);</pre></td></tr>
-<tr> <td class="numLineCover"> 372</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> ((DefaultSerializerProvider) mapper.getSerializerProvider())</pre></td></tr>
+<tr> <td class="numLineCover"> 372</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> ((DefaultSerializerProvider) mapper.getSerializerProvider())</pre></td></tr>
<tr> <td class="numLine"> 373</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> .flushCachedSerializers();</pre></td></tr>
<tr> <td class="numLine"> 374</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</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="numLineCover"> 376</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 376</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 377</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 378</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <T> <span class="keyword">void</span> setCustomIntrospectorWithExternalFilterId(</pre></td></tr>
<tr> <td class="numLine"> 379</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> Class<T> externalFilterId) {</pre></td></tr>
-<tr> <td class="numLineCover"> 380</td> <td class="nbHitsUncovered"><a title="Line 380: Conditional coverage 50% (1/2)."> 60</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 380: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (primary <span class="keyword">instanceof</span> SimpleNameIntrospector) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 381</td> <td class="nbHitsUncovered"><a title="Line 381: Conditional coverage 50% (1/2)."> 60</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 381: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (externalFilterId != <span class="keyword">null</span>) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 382</td> <td class="nbHitsCovered"> 60</td> <td class="src"><pre class="src"> ((SimpleNameIntrospector) primary)</pre></td></tr>
+<tr> <td class="numLineCover"> 380</td> <td class="nbHitsUncovered"><a title="Line 380: Conditional coverage 50% (1/2)."> 30</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 380: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (primary <span class="keyword">instanceof</span> SimpleNameIntrospector) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 381</td> <td class="nbHitsUncovered"><a title="Line 381: Conditional coverage 50% (1/2)."> 30</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 381: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (externalFilterId != <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 382</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> ((SimpleNameIntrospector) primary)</pre></td></tr>
<tr> <td class="numLine"> 383</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> .setExternalFilterClasses(externalFilterId);</pre></td></tr>
-<tr> <td class="numLineCover"> 384</td> <td class="nbHitsCovered"> 60</td> <td class="src"><pre class="src"> getLogger()</pre></td></tr>
+<tr> <td class="numLineCover"> 384</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> getLogger()</pre></td></tr>
<tr> <td class="numLine"> 385</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> .debug(<span class="string">"added class for filters "</span></pre></td></tr>
<tr> <td class="numLine"> 386</td> <td class="nbHits"> </td>
@@ -676,19 +676,19 @@
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 388</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 389</td> <td class="nbHitsCovered"> 60</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 389</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 390</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 391</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <T> <span class="keyword">void</span> removeCustomIntrospectorWithExternalFilterId(</pre></td></tr>
<tr> <td class="numLine"> 392</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> Class<T> externalFilterId) {</pre></td></tr>
-<tr> <td class="numLineCover"> 393</td> <td class="nbHitsUncovered"><a title="Line 393: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 393: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (primary <span class="keyword">instanceof</span> SimpleNameIntrospector) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 394</td> <td class="nbHitsUncovered"><a title="Line 394: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 394: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (externalFilterId != <span class="keyword">null</span>) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 395</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> ((SimpleNameIntrospector) primary)</pre></td></tr>
+<tr> <td class="numLineCover"> 393</td> <td class="nbHitsUncovered"><a title="Line 393: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 393: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (primary <span class="keyword">instanceof</span> SimpleNameIntrospector) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 394</td> <td class="nbHitsUncovered"><a title="Line 394: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 394: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (externalFilterId != <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 395</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> ((SimpleNameIntrospector) primary)</pre></td></tr>
<tr> <td class="numLine"> 396</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> .removeExternalFilterClass(externalFilterId);</pre></td></tr>
-<tr> <td class="numLineCover"> 397</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> getLogger().debug(</pre></td></tr>
+<tr> <td class="numLineCover"> 397</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> getLogger().debug(</pre></td></tr>
<tr> <td class="numLine"> 398</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="string">"removed from introspector filter id "</span></pre></td></tr>
<tr> <td class="numLine"> 399</td> <td class="nbHits"> </td>
@@ -697,7 +697,7 @@
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 401</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 402</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 402</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 403</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 404</td> <td class="nbHits"> </td>
@@ -728,8 +728,8 @@
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 420</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> setDateFormat(<span class="keyword">final</span> DateFormat df) {</pre></td></tr>
-<tr> <td class="numLineCover"> 421</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> mapper.setDateFormat(df);</pre></td></tr>
-<tr> <td class="numLineCover"> 422</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 421</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> mapper.setDateFormat(df);</pre></td></tr>
+<tr> <td class="numLineCover"> 422</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 423</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 424</td> <td class="nbHits"> </td>
@@ -742,70 +742,70 @@
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 428</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> configure(Configuration conf) <span class="keyword">throws</span> ConfigurationException {</pre></td></tr>
-<tr> <td class="numLineCover"> 429</td> <td class="nbHitsCovered"> 94</td> <td class="src"><pre class="src"> getLogger().debug(<span class="string">"conf.getName()"</span> + conf.getName());</pre></td></tr>
-<tr> <td class="numLineCover"> 430</td> <td class="nbHitsCovered"> 94</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.annotationInspectors = <span class="keyword">new</span> Hashtable<String, String>();</pre></td></tr>
+<tr> <td class="numLineCover"> 429</td> <td class="nbHitsCovered"> 47</td> <td class="src"><pre class="src"> getLogger().debug(<span class="string">"conf.getName()"</span> + conf.getName());</pre></td></tr>
+<tr> <td class="numLineCover"> 430</td> <td class="nbHitsCovered"> 47</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.annotationInspectors = <span class="keyword">new</span> Hashtable<String, String>();</pre></td></tr>
<tr> <td class="numLine"> 431</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 432</td> <td class="nbHitsCovered"> 94</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Configuration configuredAnnotationInspectors = conf.getChild(</pre></td></tr>
+<tr> <td class="numLineCover"> 432</td> <td class="nbHitsCovered"> 47</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Configuration configuredAnnotationInspectors = conf.getChild(</pre></td></tr>
<tr> <td class="numLine"> 433</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> ANNOTATIONINSPECTOR, <span class="keyword">false</span>);</pre></td></tr>
-<tr> <td class="numLineCover"> 434</td> <td class="nbHitsUncovered"><a title="Line 434: Conditional coverage 50% (1/2)."> 94</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 434: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (configuredAnnotationInspectors != <span class="keyword">null</span>) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 435</td> <td class="nbHitsCovered"> 94</td> <td class="src"><pre class="src"> Configuration[] nameVal = configuredAnnotationInspectors</pre></td></tr>
+<tr> <td class="numLineCover"> 434</td> <td class="nbHitsUncovered"><a title="Line 434: Conditional coverage 50% (1/2)."> 47</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 434: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (configuredAnnotationInspectors != <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 435</td> <td class="nbHitsCovered"> 47</td> <td class="src"><pre class="src"> Configuration[] nameVal = configuredAnnotationInspectors</pre></td></tr>
<tr> <td class="numLine"> 436</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> .getChildren();</pre></td></tr>
-<tr> <td class="numLineCover"> 437</td> <td class="nbHitsCovered"><a title="Line 437: Conditional coverage 100% (2/2)."> 376</a></td> <td class="src"><pre class="src"> <a title="Line 437: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < nameVal.length; i++) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 438</td> <td class="nbHitsCovered"> 282</td> <td class="src"><pre class="src"> String key = nameVal[i].getName();</pre></td></tr>
-<tr> <td class="numLineCover"> 439</td> <td class="nbHitsCovered"> 282</td> <td class="src"><pre class="src"> getLogger().debug(<span class="string">"configured key: "</span> + key);</pre></td></tr>
-<tr> <td class="numLineCover"> 440</td> <td class="nbHitsCovered"><a title="Line 440: Conditional coverage 100% (2/2)."> 282</a></td> <td class="src"><pre class="src"> <a title="Line 440: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (key.equals(<span class="string">"features"</span>)) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 441</td> <td class="nbHitsCovered"> 94</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.features = <span class="keyword">new</span> Hashtable<String, Boolean>();</pre></td></tr>
-<tr> <td class="numLineCover"> 442</td> <td class="nbHitsCovered"> 94</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.featureTypes = <span class="keyword">new</span> Hashtable<String, String>();</pre></td></tr>
[... 441 lines stripped ...]