private object?GetListPathValue(DataModelPath path, object target)
        {
            if (!(path.Target is ListPredicateWrapperDataModel wrapper))
            {
                throw new ArtemisCoreException("Data model condition list predicate has a path with an invalid target");
            }

            wrapper.UntypedValue = target;
            return(path.GetValue());
        }
        private object?GetEventPathValue(DataModelPath path, object?target)
        {
            lock (path)
            {
                if (!(path.Target is EventPredicateWrapperDataModel wrapper))
                {
                    throw new ArtemisCoreException("Data model condition event predicate has a path with an invalid target");
                }

                wrapper.UntypedArguments = target;
                return(path.GetValue());
            }
        }