void (@NotNull String text, @NotNull Key outputType) { if (ProcessOutputTypes.SYSTEM.equals(outputType)) { super.notifyTextAvailable(text, outputType); } else { terminalOutputCapturer.onTextAvailable(new ProcessEvent(this, text), outputType); text = filterText(text); if (!StringUtil.isEmpty(text)) { StringBuilder lastLine = getLastLineFor(outputType); String currentLine = lastLine.append(text).toString(); lastLine.setLength(0); currentLine = filterCombinedText(currentLine); // check if current line presents some interactive output boolean handled = handlePrompt(currentLine, outputType); if (!handled) { notify(currentLine, outputType, lastLine); } } } }