public static ProviderAndRequirementECOType TransformAbstraction(OperationAbstractionType fromAbs)
        {
            CurrSource = fromAbs;
            ProviderAndRequirementECOType toAbs = new ProviderAndRequirementECOType
            {
                //gitId = ConvertHexStringToByteArray(CurrGitId),
                Provides = GetProvidesData(fromAbs),
                Requires = GetRequiresData(fromAbs),
            };

            return(toAbs);
        }
        private static ContractType GetRequiresData(OperationAbstractionType fromAbs)
        {
            ContractType contract = new ContractType
            {
                Behaviors = GetRequiresOperations(fromAbs.Operations.Operation)
            };

            if (contract.Behaviors == null || contract.Behaviors.Length == 0)
            {
                contract.Behaviors = null;
            }
            return(contract);
        }
        public Tuple <string, string>[] GetGeneratorContent(params string[] xmlFileNames)
        {
            List <Tuple <string, string> > result = new List <Tuple <string, string> >();

            foreach (string xmlFileName in xmlFileNames)
            {
                OperationAbstractionType fromAbs = LoadXml <OperationAbstractionType>(xmlFileName);
                CurrSource = fromAbs;
                CurrGitId  = Path.GetFileNameWithoutExtension(xmlFileName);
                ProviderAndRequirementECOType toAbs = TransformAbstraction(fromAbs);
                string   xmlContent      = WriteToXmlString(toAbs);
                FileInfo fInfo           = new FileInfo(xmlFileName);
                string   contentFileName = "ProviderAndRequirementFrom" + fInfo.Name;
                result.Add(Tuple.Create(contentFileName, xmlContent));
            }
            return(result.ToArray());
        }