@@ -317,17 +317,19 @@ protected void collectAll()
317
317
// Remove ignored properties, first; this MUST precede annotation merging
318
318
// since logic relies on knowing exactly which accessor has which annotation
319
319
_removeUnwantedProperties (props );
320
-
321
- // then merge annotations, to simplify further processing
322
- for (POJOPropertyBuilder property : props .values ()) {
323
- property .mergeAnnotations (_forSerialization );
324
- }
325
320
// and then remove unneeded accessors (wrt read-only, read-write)
326
321
_removeUnwantedAccessor (props );
327
322
328
323
// Rename remaining properties
329
324
_renameProperties (props );
330
325
326
+ // then merge annotations, to simplify further processing
327
+ // 26-Sep-2017, tatu: Before 2.9.2 was done earlier but that prevented some of
328
+ // annotations from getting properly merged
329
+ for (POJOPropertyBuilder property : props .values ()) {
330
+ property .mergeAnnotations (_forSerialization );
331
+ }
332
+
331
333
// And use custom naming strategy, if applicable...
332
334
PropertyNamingStrategy naming = _findNamingStrategy ();
333
335
if (naming != null ) {
@@ -348,7 +350,7 @@ protected void collectAll()
348
350
if (_config .isEnabled (MapperFeature .USE_WRAPPER_NAME_AS_PROPERTY_NAME )) {
349
351
_renameWithWrappers (props );
350
352
}
351
-
353
+
352
354
// well, almost last: there's still ordering...
353
355
_sortProperties (props );
354
356
_properties = props ;
0 commit comments