UnitPFBuilder use CaseStatements as previously, because apply is cast to exact type ( not ? extends T ) PFBuilder.match working with generic messages