public void JsonMappingCompoundTo_IsValid()
        {
            //------------Setup for test--------------------------
            //------------Execute Test---------------------------
            Assert.IsNotNull(JsonMappingCompoundTo.IsValidJsonMappingInput(null, null));
            Assert.IsNotNull(JsonMappingCompoundTo.IsValidJsonMappingInput(null, "a"));
            JsonMappingCompoundTo.IsValidJsonMappingInput("a", "a")
            .Should().BeNull();
            JsonMappingCompoundTo.IsValidJsonMappingInput("[[a]],[[b]]", "a")
            .Should().BeNull();
            JsonMappingCompoundTo.IsValidJsonMappingInput("[[a().a]]", "a")
            .Should().BeNull();
            JsonMappingCompoundTo.IsValidJsonMappingInput("[[a()]],[[b]]", "a")
            .Should().NotBeNull();
            JsonMappingCompoundTo.IsValidJsonMappingInput("[[a(*)]],[[b]],[[c().m]]", "a")
            .Should().NotBeNull();
            JsonMappingCompoundTo.IsValidJsonMappingInput("[[a().x]],[[b().y]]", "a")
            .Should().BeNull();

            JsonMappingCompoundTo.IsValidJsonMappingInput("a", "a")
            .Should().BeNull();

            JsonMappingCompoundTo.IsValidJsonMappingInput("a,b", "a")
            .Should().BeNull();
        }
        /*
         * protected override bool IsValid(JsonMappingTo item)
         * {
         *  try
         *  {
         *      if (string.IsNullOrEmpty(JsonMappingCompoundTo.IsValidJsonMappingInput(
         *          item.SourceName,
         *          item.DestinationName)))
         *          return true;
         *
         *  }
         *  catch (Exception)
         *  {
         *      return false;
         *  }
         *
         *  return true;
         * }
         * */

        public override IActionableErrorInfo Check()
        {
            var to = GetValue.Invoke();

            ErrorText = JsonMappingCompoundTo.IsValidJsonMappingInput(to.SourceName, to.DestinationName);
            if (string.IsNullOrEmpty(ErrorText))
            {
                return(null);
            }
            return(new ActionableErrorInfo
            {
                ErrorType = ErrorType.Critical,
                Message = ErrorText,
            });
        }