@Override
  public PropertyImpl handleContentChange(@NotNull PropertyImpl element, @NotNull TextRange range, String newContent) throws IncorrectOperationException {
    TextRange valueRange = getRangeInElement(element);
    final String oldText = element.getText();
    String newText = oldText.substring(0, range.getStartOffset()) + newContent + oldText.substring(range.getEndOffset());
    element.setValue(newText.substring(valueRange.getStartOffset()).replaceAll("([^\\s])\n", "$1 \n"));  // add explicit space before \n
    return element;
  }
@Override
  public PropertyImpl handleContentChange(@NotNull PropertyImpl element, @NotNull TextRange range, String newContent)