V3.12.2

  • 451 Speculative matching in list should not invalidate append setter.
          ClassMeta<List<Foo>> classMeta = ReflectionService.newInstance().getClassMeta(new TypeReference<List<Foo>>() {
          }.getType());
    
          PropertyFinder<List<Foo>> finder = classMeta.newPropertyFinder(new Predicate<PropertyMeta<?, ?>>() {
              @Override
              public boolean test(PropertyMeta<?, ?> propertyMeta) {
                  return true;
              }
          });
    
          SubPropertyMeta f = (SubPropertyMeta)finder.findProperty(DefaultPropertyNameMatcher.of("b_f"));
          SubPropertyMeta n = (SubPropertyMeta)finder.findProperty(DefaultPropertyNameMatcher.of("b_n"));
    
          assertEquals(AppendCollectionSetter.class, n.getOwnerProperty().getSetter().getClass());
    

    Append setter are used for joins.