static Firewall Transform(string raw) { var values = raw .Replace(": ", ",") .Split('\n') .Select(s => s.Split(',').Select(s2 => int.Parse(s2)).ToList()) .ToList(); var firewall = new Firewall(); foreach (var entry in values) { firewall.AddLayer(entry[0], entry[1]); } return(firewall); }