class RepoInfoPresenter extends BasePresenter {

    private void loadData() {
        String owner = repository.getOwnerName();
        String name = repository.getRepoName();

        showLoadingState();
        Subscription subscriptionBranches = model.getRepoBranches(owner, name)
                .map(branchesMapper)
                .subscribe(new Observer<List<Branch>>() {
                    @Override
                    public void onCompleted() {
                        hideInfoLoadingState();
                    }

                    @Override
                    public void onError(Throwable e) {
                        hideInfoLoadingState();
                        showError(e);
                    }

                    @Override
                    public void onNext(List<Branch> list) {
                        branchList = list;
                        view.showBranches(list);
                    }
                });
        addSubscription(subscriptionBranches);

        Subscription subscriptionContributors = model.getRepoContributors(owner, name)
                .map(contributorsMapper)
                .subscribe(new Observer<List<Contributor>>() {
                    @Override
                    public void onCompleted() {
                        hideInfoLoadingState();
                    }

                    @Override
                    public void onError(Throwable e) {
                        hideInfoLoadingState();
                        showError(e);
                    }

                    @Override
                    public void onNext(List<Contributor> list) {
                        contributorList = list;
                        view.showContributors(list);
                    }
                });

        addSubscription(subscriptionContributors);
    }

}