private List<string> BuildList(IGenerator Generator, List<string> List)
{
List<string> OldList = List;
List<string> NewList = new List<string>();
for (int i = 0; i < OldList.Count; )
{
string OldValue = List[i];
List.RemoveAt(i);
if (Generator.GetType() == typeof(CharacterGenerator))
{
CharacterGenerator characterGenerator = (CharacterGenerator)Generator;
NewList.AddRange(BuildCharacters(characterGenerator, OldValue));
}
else if (Generator.GetType() == typeof(CharacterRepeater))
{
CharacterRepeater characterRepeater = (CharacterRepeater)Generator;
NewList.AddRange(BuildCharacterRepeats(characterRepeater, OldValue));
}
else if (Generator.GetType() == typeof(FileGenerator))
{
FileGenerator fileGenerator = (FileGenerator)Generator;
NewList.AddRange(BuildFileString(fileGenerator, OldValue));
}
else if (Generator.GetType() == typeof(NumberGenerator))
{
NumberGenerator numberGenerator = (NumberGenerator)Generator;
NewList.AddRange(BuildNumbers(numberGenerator, OldValue));
}
else if (Generator.GetType() == typeof(RandomStringGenerator))
{
RandomStringGenerator randomStringGenerator = (RandomStringGenerator)Generator;
NewList.AddRange(BuildRandomStrings(randomStringGenerator, OldValue));
}
else if (Generator.GetType() == typeof(StringGenerator))
{
StringGenerator stringGenerator = (StringGenerator)Generator;
NewList.AddRange(BuildStrings(stringGenerator, OldValue, ""));
}
}
return NewList;
}