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))));
        }