class DefaultPipelineContext implements PipelineContext {

    private final List<PipelineStage> stageList = new ArrayList<>();

    @Override
    public void process() throws Exception {
        stageList.sort(AnnotationAwareOrderComparator.INSTANCE);
        for (PipelineStage pipelineStage : stageList) {
            pipelineStage.process();
        }
    }

    @Override
    public PipelineContext appendStage(PipelineStage stage) {
        this.stageList.add(stage);
        return this;
    }

    @Override
    public PipelineContext appendStages(List<PipelineStage> stages) {<FILL_FUNCTION_BODY>}

    public List<PipelineStage> getStageList() {
        return stageList;
    }
}

        for (PipelineStage pipelineStage : stages) {
            appendStage(pipelineStage);
        }
        return this;
    
<no_super_class>