@Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }

    ProjectScreenModel that = (ProjectScreenModel) o;

    if (KModule != null ? !KModule.equals(that.KModule) : that.KModule != null) {
      return false;
    }
    if (KModuleMetaData != null
        ? !KModuleMetaData.equals(that.KModuleMetaData)
        : that.KModuleMetaData != null) {
      return false;
    }
    if (POMMetaData != null ? !POMMetaData.equals(that.POMMetaData) : that.POMMetaData != null) {
      return false;
    }
    if (pathToImports != null
        ? !pathToImports.equals(that.pathToImports)
        : that.pathToImports != null) {
      return false;
    }
    if (pathToKModule != null
        ? !pathToKModule.equals(that.pathToKModule)
        : that.pathToKModule != null) {
      return false;
    }
    if (pathToPOM != null ? !pathToPOM.equals(that.pathToPOM) : that.pathToPOM != null) {
      return false;
    }
    if (pom != null ? !pom.equals(that.pom) : that.pom != null) {
      return false;
    }
    if (projectTagsMetaData != null
        ? !projectTagsMetaData.equals(that.projectTagsMetaData)
        : that.projectTagsMetaData != null) {
      return false;
    }
    if (projectImports != null
        ? !projectImports.equals(that.projectImports)
        : that.projectImports != null) {
      return false;
    }
    if (projectImportsMetaData != null
        ? !projectImportsMetaData.equals(that.projectImportsMetaData)
        : that.projectImportsMetaData != null) {
      return false;
    }
    if (pathToWhiteList != null
        ? !pathToWhiteList.equals(that.pathToWhiteList)
        : that.pathToWhiteList != null) {
      return false;
    }
    if (whiteList != null ? !whiteList.equals(that.whiteList) : that.whiteList != null) {
      return false;
    }
    if (whiteListMetaData != null
        ? !whiteListMetaData.equals(that.whiteListMetaData)
        : that.whiteListMetaData != null) {
      return false;
    }

    return true;
  }