Accumulator는 한 실행에만 소유되고 완료 뒤 결과로 닫힌다

공유 field에 결과를 쌓으면 호출 간 값이 섞이고 병렬 실행에서 race가 생깁니다.

reusable operationpredicate·mapper
execution호출 한 번
local accumulator새 ArrayList<R>
iteration선택 값만 add
finished snapshotList.copyOf

핵심: source와 함수는 재사용해도 mutable accumulator는 실행마다 새로 만듭니다.