boolean (@NotNull Boolean spaceWithin, @Nullable Boolean spaceWithinEmpty, @Nullable Boolean leftLF, @Nullable Boolean rightLF, @NotNull IElementType leftType, @NotNull IElementType rightType) { if (myType1 == leftType && myType2 == rightType && spaceWithinEmpty != null) { createSpaceInCode(spaceWithinEmpty); return true; } else if (myType1 == leftType) { final ASTNode rparenth = findFrom(myChild1, rightType, true); if (rparenth == null || leftLF == null) { createSpaceInCode(spaceWithin); } else { final TextRange range = new TextRange(myChild1.getStartOffset(), rparenth.getTextRange().getEndOffset()); createDependentLFSpacing(leftLF, spaceWithin, range); } return true; } else if (myType2 == rightType) { final ASTNode lparenth = findFrom(myChild1, leftType, false); if (lparenth == null || rightLF == null) { createSpaceInCode(spaceWithin); } else { final TextRange range = new TextRange(lparenth.getStartOffset(), myChild2.getTextRange().getEndOffset()); createDependentLFSpacing(rightLF, spaceWithin, range); } return true; } else { return false; } }