public JsonNetResult Validate(string rootType = null, string propertyRoute = null)
        {
            ModifiableEntity mod = this.UntypedExtractEntity();

            PropertyRoute route = (rootType.HasText() || propertyRoute.HasText()) ? PropertyRoute.Parse(TypeLogic.GetType(rootType), propertyRoute) : PropertyRoute.Root(mod.GetType());

            MappingContext context = mod.UntypedApplyChanges(this, route: route).UntypedValidate();

            IEntity ident    = context.UntypedValue as IEntity;
            string  newToStr = context.UntypedValue.ToString();

            return(context.ToJsonModelState(newToStr));
        }