class DependenciesItemPresenter {

    public DependenciesItemPresenter setup(final EnhancedDependency enhancedDependency,
                                           final WhiteList whiteList,
                                           final DependenciesPresenter dependenciesPresenter) {

        this.enhancedDependency = enhancedDependency;
        this.parentPresenter = dependenciesPresenter;

        final Dependency dependency = enhancedDependency.getDependency();
        validator = new DependencyValidator(dependency);

        view.init(this);
        view.setGroupId(dependency.getGroupId());
        view.setArtifactId(dependency.getArtifactId());
        view.setVersion(dependency.getVersion());
        view.setPackagesWhiteListedState(WhiteListedPackagesState.from(whiteList, enhancedDependency.getPackages()));
        view.setTransitiveDependency(enhancedDependency instanceof TransitiveEnhancedDependency);

        return this;
    }

    @Inject public  DependenciesItemPresenter(final View view);

}