Substituindo if-else nos loops 'for' pelo Java-8 Streams

Eu tenho o seguinte código simples que estou tentando converter para o estilo funcional

for(String str: list){
    if(someCondition(str)){
       list2.add(doSomeThing(str));
    }
    else{
        list2.add(doSomethingElse(str));
    }
}

É facilmente possível substituir esse loop por stream? A única opção que vejo é iterar o fluxo duas vezes com duas condições de filtro diferentes.

questionAnswers(1)

yourAnswerToTheQuestion