class ExecutionPlanItem {
    private final MojoExecution mojoExecution;

    public ExecutionPlanItem(MojoExecution mojoExecution) {
        this.mojoExecution = mojoExecution;
    }

    public static List<ExecutionPlanItem> createExecutionPlanItems(
            MavenProject mavenProject, List<MojoExecution> executions) {<FILL_FUNCTION_BODY>}

    public MojoExecution getMojoExecution() {
        return mojoExecution;
    }

    public String getLifecyclePhase() {
        return mojoExecution.getLifecyclePhase();
    }

    public Plugin getPlugin() {
        final MojoDescriptor mojoDescriptor = getMojoExecution().getMojoDescriptor();
        return mojoDescriptor.getPluginDescriptor().getPlugin();
    }

    @Override
    public String toString() {
        return "ExecutionPlanItem{" + ", mojoExecution=" + mojoExecution + '}' + super.toString();
    }
}

        BuilderCommon.attachToThread(mavenProject);

        List<ExecutionPlanItem> result = new ArrayList<>();
        for (MojoExecution mojoExecution : executions) {
            result.add(new ExecutionPlanItem(mojoExecution));
        }
        return result;
    
<no_super_class>