class ProjectScreenModel {

    @Override
    public int hashCode() {
        int result = pom != null ? pom.hashCode() : 0;
        result = 31 * result + (pathToPOM != null ? pathToPOM.hashCode() : 0);
        result = ~~result;
        result = 31 * result + (POMMetaData != null ? POMMetaData.hashCode() : 0);
        result = ~~result;
        result = 31 * result + (KModule != null ? KModule.hashCode() : 0);
        result = ~~result;
        result = 31 * result + (gitUrls != null ? gitUrls.hashCode() : 0);
        result = ~~result;
        result = 31 * result + (pathToKModule != null ? pathToKModule.hashCode() : 0);
        result = ~~result;
        result = 31 * result + (KModuleMetaData != null ? KModuleMetaData.hashCode() : 0);
        result = ~~result;
        result = 31 * result + (projectImports != null ? projectImports.hashCode() : 0);
        result = ~~result;
        result = 31 * result + (pathToImports != null ? pathToImports.hashCode() : 0);
        result = ~~result;
        result = 31 * result + (projectImportsMetaData != null ? projectImportsMetaData.hashCode() : 0);
        result = ~~result;
        result = 31 * result + (projectTagsMetaData != null ? projectTagsMetaData.hashCode() : 0);
        result = ~~result;
        result = 31 * result + (whiteList != null ? whiteList.hashCode() : 0);
        result = ~~result;
        result = 31 * result + (pathToWhiteList != null ? pathToWhiteList.hashCode() : 0);
        result = ~~result;
        result = 31 * result + (whiteListMetaData != null ? whiteListMetaData.hashCode() : 0);
        result = ~~result;
        result = 31 * result + (repositories != null ? repositories.hashCode() : 0);
        result = ~~result;
        result = 31 * result + (pathToRepositories != null ? pathToRepositories.hashCode() : 0);
        result = ~~result;
        return result;
    }

}