private static void CheckParts(string[] parts)
{
for (int i = 0; i < parts.Length; i++)
{
var p = parts[i];
for (int j = 0; j < p.Length; j++)
{
if (!Char.IsLetterOrDigit(p[j]))
throw new ArgumentException("Invalid value for part: " + p + ". Only [A-Za-z0-9] allowed for labels");
}
}
}