private string WriteToXmlString(ProviderAndRequirementECOType toAbs)
        {
            XmlSerializer serializer   = new XmlSerializer(toAbs.GetType());
            MemoryStream  memoryStream = new MemoryStream();

            serializer.Serialize(memoryStream, toAbs);
            byte[] data   = memoryStream.ToArray();
            string result = System.Text.Encoding.UTF8.GetString(data);

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

            return(toAbs);
        }
        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());
        }