public IdentityPart(IdentityPartDefinition partDefinition, object value)
        {
            PartDefinition = partDefinition;
            Value          = value;

            var hashinput = new object[2];

            hashinput[0] = partDefinition;
            hashinput[1] = value;
            _hash        = HashingHelper.Hash(hashinput);
        }
        public override bool Equals(object obj)
        {
            if (!(obj is IdentityPartDefinition))
            {
                return(false);
            }
            IdentityPartDefinition otherSegment = (IdentityPartDefinition)obj;

            return
                (this.Property == otherSegment.Property);
        }