J'ai un problème à faire un stream.

J'extrait des données à partir d'un csv :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
public Stream<T> importFichier(File file, Class<T> pojo) throws JsonProcessingException, IOException{	
	CsvMapper mapper = new CsvMapper();
	SchemaConfiguration<T> schema = new SchemaConfiguration<T>();
 
	BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
	MappingIterator<T> it = mapper.readerFor(pojo).with(schema.schemaDefinition(pojo)).readValues(bis);
	Stream<T> streamImport = StreamSupport.stream(Spliterators.spliteratorUnknownSize(it, Spliterator.SIZED), true);
	return streamImport;
}
Ensuite pour que le résultat de l'import colle à mon modèle de données j'ai écrit un converter (je n'ai pas le loisir de modifier le modèle de donnée).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
public List<ClasseModele> PojoConverter() throws JsonProcessingException, IOException{
	Stream<Pojo> pojoListe = initImportCsv();
	List<ClasseModele> prReferentielListe = null;
	for (Pojo pojo : pojoListe.distinct().collect(Collectors.toList())) {
		ClasseModele cm = new ClasseModele();
	        cm.setProp1(pojo.getProp1);
	        cm.setProp2(pojo.getProp2);
 
	        prReferentielListe.add(prReferentiel);
        }
return prReferentielListe;
}
J'aimerai diminué la compléxité en me débarassant du forEach. Pour cela je voudrais mettre le code suivant dans une méthode et un faire un stream
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
ClasseModele cm = new ClasseModele();
cm.setProp1(pojo.getProp1);
cm.setProp2(pojo.getProp2);
Ainsi je pourrais mapper ce stream dans mon PojoConverter.

Seulement j'ai du mal écrire cette fameuse méthode...

Si vous avez des suggestions je suis preneur.

Je vous remercie d'avance