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

    ModuleLicenseModel that = (ModuleLicenseModel) o;

    if (!getId().equals(that.getId())) {
      return false;
    }
    if (!license.equals(that.license)) {
      return false;
    }
    if ((getRepoPath() != null) && !getRepoPath().equals(that.getRepoPath())) {
      return false;
    }
    if ((calculatedLicense != null && that.calculatedLicense != null)
        && !calculatedLicense.equals(that.calculatedLicense)) {
      return false;
    }
    return true;
  }
 @Override
 public int hashCode() {
   int result;
   result = 31 * getId().hashCode();
   result = 31 * result + license.hashCode();
   if (getRepoPath() != null) {
     result = 31 * result + getRepoPath().hashCode();
   }
   return result;
 }