class License extends Referenceable {

    @Override
    public boolean equals(Object objectToCompare)
    {
        if (this == objectToCompare)
        {
            return true;
        }
        if (!(objectToCompare instanceof License))
        {
            return false;
        }
        if (!super.equals(objectToCompare))
        {
            return false;
        }
        License license = (License) objectToCompare;
        return Objects.equals(getLicenseGUID(), license.getLicenseGUID()) &&
                Objects.equals(licenseTypeName, license.licenseTypeName) &&
                Objects.equals(getLicensee(), license.getLicensee()) &&
                Objects.equals(getSummary(), license.getSummary()) &&
                Objects.equals(getLink(), license.getLink()) &&
                Objects.equals(getStartDate(), license.getStartDate()) &&
                Objects.equals(getEndDate(), license.getEndDate()) &&
                Objects.equals(getLicenseConditions(), license.getLicenseConditions()) &&
                Objects.equals(getCreatedBy(), license.getCreatedBy()) &&
                Objects.equals(getCustodian(), license.getCustodian()) &&
                Objects.equals(getNotes(), license.getNotes());
    }

    public  License();
    public  License(License template);

}