class MvnDependencyTreeAnalyzer extends AbstractAnalyzer {

    @Override
    public WorkflowStepResult yield() {

        Optional<WrappedDependencyNodes> wrappedProjectsOptional = context.getGeneric(WrappedDependencyNodes.class);

        if (!wrappedProjectsOptional.isPresent()) {
            throw new ExecutionException("No Maven dependency tree was provided for analysis.");
        }

        List<DependencyNode> projectList = wrappedProjectsOptional.get().getDependencyNodes();

        final List<Artifact> collect = projectList.stream()
                .map(this::getArtifactFromNode)
                .collect(Collectors.toList());

        return new WorkflowStepResult(collect);
    }

    public  MvnDependencyTreeAnalyzer();

}