class ElementType extends PropertyBase {

    @Override
    public boolean equals(Object objectToCompare)
    {
        if (this == objectToCompare)
        {
            return true;
        }
        if (!(objectToCompare instanceof ElementType))
        {
            return false;
        }
        ElementType that = (ElementType) objectToCompare;
        return getElementTypeVersion() == that.getElementTypeVersion() &&
                Objects.equals(getElementTypeId(), that.getElementTypeId()) &&
                Objects.equals(getElementTypeName(), that.getElementTypeName()) &&
                Objects.equals(getElementSuperTypeNames(), that.getElementSuperTypeNames()) &&
                Objects.equals(getElementTypeDescription(), that.getElementTypeDescription()) &&
                Objects.equals(getElementSourceServer(), that.getElementSourceServer()) &&
                getElementOrigin() == that.getElementOrigin() &&
                Objects.equals(getElementHomeMetadataCollectionId(), that.getElementHomeMetadataCollectionId()) &&
                Objects.equals(getElementHomeMetadataCollectionName(), that.getElementHomeMetadataCollectionName()) &&
                Objects.equals(getElementLicense(), that.getElementLicense());
    }

    public  ElementType();
    public  ElementType(ElementType templateType);

}