class Lifecycles {

    static Lifecycle.Phase phase(String name) {
        return new DefaultPhase(name, Collections.emptyList(), Collections.emptyList());
    }

    static Lifecycle.Phase phase(String name, Plugin plugin) {
        return new DefaultPhase(name, Collections.singletonList(plugin), Collections.emptyList());
    }

    static Plugin plugin(String coord, String phase) {<FILL_FUNCTION_BODY>}

    static class DefaultPhase implements Lifecycle.Phase {
        private final String name;
        private final List<Plugin> plugins;
        private final List<Lifecycle.Phase> phases;

        DefaultPhase(String name, List<Plugin> plugins, List<Lifecycle.Phase> phases) {
            this.name = name;
            this.plugins = plugins;
            this.phases = phases;
        }

        @Override
        public String name() {
            return name;
        }

        @Override
        public List<Plugin> plugins() {
            return plugins;
        }
    }
}

        String[] c = coord.split(":");
        return Plugin.newBuilder()
                .groupId(c[0])
                .artifactId(c[1])
                .version(c[2])
                .executions(Collections.singletonList(PluginExecution.newBuilder()
                        .id("default-" + c[3])
                        .phase(phase)
                        .goals(Collections.singletonList(c[3]))
                        .build()))
                .build();
    
<no_super_class>