public HfRelationShipDenied(List <Property> properties, World world) : base(properties, world)
        {
            foreach (Property property in properties)
            {
                switch (property.Name)
                {
                case "site_id":
                    Site = world.GetSite(Convert.ToInt32(property.Value));
                    break;

                case "subregion_id":
                    Region = world.GetRegion(Convert.ToInt32(property.Value));
                    break;

                case "feature_layer_id":
                    UndergroundRegion = world.GetUndergroundRegion(Convert.ToInt32(property.Value));
                    break;

                case "seeker_hfid":
                    Seeker = world.GetHistoricalFigure(Convert.ToInt32(property.Value));
                    break;

                case "target_hfid":
                    Target = world.GetHistoricalFigure(Convert.ToInt32(property.Value));
                    break;

                case "relationship":
                    Relationship = property.Value;
                    break;

                case "reason":
                    Reason = property.Value;
                    break;

                case "reason_id":
                    ReasonHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value));
                    break;
                }
            }

            Site.AddEvent(this);
            Region.AddEvent(this);
            UndergroundRegion.AddEvent(this);
            Seeker.AddEvent(this);
            Target.AddEvent(this);
            if (ReasonHf != null && !ReasonHf.Equals(Seeker) && !ReasonHf.Equals(Target))
            {
                ReasonHf.AddEvent(this);
            }
        }