List<EditorChecker> checkersToRecheck, boolean recreateInspectorMessages, final boolean applyQuickFixes) {
if (editor == null || editor.getRootCell() == null) return false;
final NodeHighlightManager highlightManager = editor.getHighlightManager();
boolean anyMessageChanged = false;
for (final EditorChecker checker : checkersToRecheck) {
<BUG>Pair<Collection<EditorMessage>, Boolean> checkResult = runLoPrioRead(new Computable<Pair<Collection<EditorMessage>, Boolean>>() {
@Override
public Pair<Collection<EditorMessage>, Boolean> compute() {
if (myHighlighter.isPausedOrStopping()) return CHECK_ABORTED;
</BUG>
SNode node = editor.getEditedNode(); // XXX perhaps, shall use getEditedNodePointer and resolve it, rather than check isAccessible?

List<EditorChecker> checkersToRecheck, boolean recreateInspectorMessages, final boolean applyQuickFixes) {
if (editor == null || editor.getRootCell() == null) return false;
final NodeHighlightManager highlightManager = editor.getHighlightManager();
boolean anyMessageChanged = false;
for (final EditorChecker checker : checkersToRecheck) {
UpdateResult checkResult = runLoPrioRead(new Computable<UpdateResult>() {
@Override
public UpdateResult compute() {
if (myHighlighter.isPausedOrStopping()) return UpdateResult.CANCELLED;
SNode node = editor.getEditedNode(); // XXX perhaps, shall use getEditedNodePointer and resolve it, rather than check isAccessible?
