TextContent (byte @NotNull [] content, @NotNull Charset charset) { boolean isBom = CharsetToolkit.guessFromBOM(content) != null; boolean malformedContent = false; String text = CharsetToolkit.tryDecodeString(content, charset); if (text == null) { text = CharsetToolkit.decodeString(content, charset); malformedContent = true; } TextContent textContent = fromText(text, true); textContent.charset = charset; textContent.isBom = isBom; if (malformedContent) { String notificationText = DiffBundle.message("error.content.decoded.with.wrong.charset", charset.name()); textContent.notification = DiffNotifications.createNotificationProvider(notificationText, LightColors.RED, EditorNotificationPanel.Status.Error); } return textContent; }