public static UpsStatus TryCreate(IEnumerable <string> lines, ILogger logger) { ImmutableArray <string> actualLines = lines?.ToImmutableArray() ?? ImmutableArray <string> .Empty; if (PowerStatus.TryParse(actualLines, out PowerStatus status, out ImmutableArray <ParseError> parseErrors)) { return(new UpsStatus(status)); } logger.Error("Could not get status from lines {Lines}", actualLines); return(Invalid(string.Join(", ", parseErrors.Select(e => e.Error)))); }