void (@NotNull InsertionContext context, @NotNull LookupElement item) { if (!needsColon(context)) { return; } final ForcedCompletionPath path = Optional.of(item.getObject()) .filter(ForcedCompletionPath.class::isInstance) .map(ForcedCompletionPath.class::cast) .orElse(null); final String lookupString; if (path != null) { // deep completion lookupString = getReplacement(); context.getDocument().replaceString(context.getStartOffset(), context.getTailOffset(), lookupString); } else { lookupString = item.getLookupString(); } String commonPadding = getIndentation(context, lookupString); YamlInsertionMarkup insertionMarkup = computeInsertionMarkup(context, path != null ? path : ForcedCompletionPath.nullPath()); commonPadding = insertBeforeItem(context, lookupString, commonPadding, insertionMarkup); insertionMarkup.insertStringAndCaret(context.getEditor(), commonPadding); }