public List<Modification> modifications(ConsoleResult result) {
        List<Modification> modifications = new ArrayList<>();
        for (String change : result.output()) {
            if (!StringUtils.isBlank(change)) {
                String description = "";
                try {
                    long revision = revisionFromChange(change);
                    description = p4Client.describe(revision);
                    modifications.add(modificationFromDescription(description, result));
                } catch (P4OutputParseException e) {
                    LOG.error("Error parsing changes for {}", this);
                    LOG.error("---- change ---------");
                    LOG.error(result.replaceSecretInfo(change));
                    LOG.error("---- description ----");
                    LOG.error(result.replaceSecretInfo(description));
                    LOG.error("---------------------");
                } catch (RuntimeException e) {
                    throw (RuntimeException) result.smudgedException(e);
                }
            }
        }
        return modifications;
    }
@Test
    void shouldIgnoreBadLinesAndLogThem() {
        try (LogFixture logging = logFixtureFor(P4OutputParser.class, Level.DEBUG)) {
            final String output = "Change 539921 on 2008/09/24 "
                    + "by abc@SomeRefinery_abc_sa1-sgr-xyz-001 'more work in progress on MDC un'\n";
            final String description = "Change that I cannot parse :-(\n";

            when(p4Client.describe(any(Long.class))).thenReturn(description);

            List<Modification> modifications = parser.modifications(new ConsoleResult(0, List.of(output.split("\n")), new ArrayList<>(), new ArrayList<>(), new ArrayList<>()));
            assertThat(modifications.size()).isEqualTo(0);
            assertThat(logging.getLog()).contains(description);
        }
    }