List<Stage<?>> stages() {
        resolveStages();
        return stageBeans.stream()
            .map(StageBean::asStage)
            .collect(collectingAndThen(toList(), Collections::unmodifiableList));

    }
Creates and returns a new unmodifiable list of immutable Stage object

@return a new unmodifiable list of immutable Stage object
runtime-parent/runtime-join/src/main/java/com/speedment/runtime/join/internal/component/join/AbstractJoinBuilder.java