public override Boolean Equals(Object obj)
        {
            if (this == obj)
            {
                return(true);
            }
            if (obj == null)
            {
                return(false);
            }
            if (GetType() != obj.GetType())
            {
                return(false);
            }
            var other = (FunctionDefinition)obj;

            if (description == null)
            {
                if (other.description != null)
                {
                    return(false);
                }
            }
            else if (!description.Equals(other.description))
            {
                return(false);
            }
            if (group == null)
            {
                if (other.group != null)
                {
                    return(false);
                }
            }
            else if (!group.Equals(other.group))
            {
                return(false);
            }
            if (help == null)
            {
                if (other.help != null)
                {
                    return(false);
                }
            }
            else if (!help.Equals(other.help))
            {
                return(false);
            }
            if (hidden != other.hidden)
            {
                return(false);
            }
            if (implementation == null)
            {
                if (other.implementation != null)
                {
                    return(false);
                }
            }
            else if (!implementation.Equals(other.implementation))
            {
                return(false);
            }
            if (index == null)
            {
                if (other.index != null)
                {
                    return(false);
                }
            }
            else if (!index.Equals(other.index))
            {
                return(false);
            }
            if (inputFormat == null)
            {
                if (other.inputFormat != null)
                {
                    return(false);
                }
            }
            else if (!inputFormat.Equals(other.inputFormat))
            {
                return(false);
            }
            if (name == null)
            {
                if (other.name != null)
                {
                    return(false);
                }
            }
            else if (!name.Equals(other.name))
            {
                return(false);
            }
            if (outputFormat == null)
            {
                if (other.outputFormat != null)
                {
                    return(false);
                }
            }
            else if (!outputFormat.Equals(other.outputFormat))
            {
                return(false);
            }
            return(true);
        }
        public Boolean equals(Object obj)
        {
            if (this == obj)
            {
                return(true);
            }
            if (obj == null)
            {
                return(false);
            }
            if (GetType() != obj.GetType())
            {
                return(false);
            }
            var other = (VariableDefinition)obj;

            if (description == null)
            {
                if (other.description != null)
                {
                    return(false);
                }
            }
            else if (!description.Equals(other.description))
            {
                return(false);
            }
            if (format == null)
            {
                if (other.format != null)
                {
                    return(false);
                }
            }
            else if (!format.Equals(other.format))
            {
                return(false);
            }
            if (group == null)
            {
                if (other.group != null)
                {
                    return(false);
                }
            }
            else if (!group.Equals(other.group))
            {
                return(false);
            }
            if (help == null)
            {
                if (other.help != null)
                {
                    return(false);
                }
            }
            else if (!help.Equals(other.help))
            {
                return(false);
            }
            if (hidden != other.hidden)
            {
                return(false);
            }
            if (iconId == null)
            {
                if (other.iconId != null)
                {
                    return(false);
                }
            }
            else if (!iconId.Equals(other.iconId))
            {
                return(false);
            }
            if (helpId == null)
            {
                if (other.helpId != null)
                {
                    return(false);
                }
            }
            else if (!helpId.Equals(other.helpId))
            {
                return(false);
            }
            if (index == null)
            {
                if (other.index != null)
                {
                    return(false);
                }
            }
            else if (!index.Equals(other.index))
            {
                return(false);
            }
            if (name == null)
            {
                if (other.name != null)
                {
                    return(false);
                }
            }
            else if (!name.Equals(other.name))
            {
                return(false);
            }
            if (readable != other.readable)
            {
                return(false);
            }
            return(writable == other.writable);
        }