internal IManifestTreeBuilder GetConcreteBuilder(SamplePayloadTypeEnum payloadType)
        {
            var item = _builders.SingleOrDefault(i => i.PayloadType == payloadType);

            if (item == null)
            {
                throw new Exception(string.Format("SamplePayloadType:{0} not supported", payloadType));
            }

            return(item);
        }
        public ManifestTreeNode GetManifestTree(string samplePayload, SamplePayloadTypeEnum payloadType)
        {
            var instance = GetConcreteBuilder(payloadType);

            return(instance.GetTree(samplePayload));
        }