Spacing (@NotNull CommonCodeStyleSettings settings, @NotNull GroovyCodeStyleSettings groovySettings, @NotNull GrClosableBlock closure, final boolean forArrow) { boolean spaceWithinBraces = closure.getParent() instanceof GrStringInjection ? groovySettings.SPACE_WITHIN_GSTRING_INJECTION_BRACES : settings.SPACE_WITHIN_BRACES; GrStatement[] statements = closure.getStatements(); if (statements.length > 0) { final PsiElement startElem = forArrow ? statements[0] : closure; int start = startElem.getTextRange().getStartOffset(); int end = statements[statements.length - 1].getTextRange().getEndOffset(); TextRange range = new TextRange(start, end); int minSpaces = spaceWithinBraces || forArrow ? 1 : 0; int maxSpaces = spaceWithinBraces || forArrow ? 1 : 0; return Spacing.createDependentLFSpacing(minSpaces, maxSpaces, range, settings.KEEP_LINE_BREAKS, settings.KEEP_BLANK_LINES_IN_CODE); } return spaceWithinBraces || forArrow ? COMMON_SPACING : NO_SPACING_WITH_NEWLINE; }