I have a class Model with the following signature:
class Model {
        private String stringA;
        private String stringB;
        public Model(String stringA, String stringB) {
            this.stringA = stringA;
            this.stringB = stringB;
        }
        public String getStringA() {
            return stringA;
        }
        public String getStringB() {
            return stringB;
        }
}
I would like to map a List<Model> to a List<String> containing both stringA and stringB in a single stream
List<String> strings = models.stream()
                .mapFirst(Model::getStringA)
                .thenMap(Model::getStringB)
                .collect(Collectors.toList());
or:
List<String> strings = models.stream()
                .map(Mapping.and(Model::getStringA,Model::getStringB))
                .collect(Collectors.toList());
Of course none of them compiles, but you get the idea.
Is it somehow possible?
Edit:
Example:
Model ab = new Model("A","B");
Model cd = new Model("C","D");
List<String> stringsFromModels = {"A","B","C","D"};
 
     
    