@Override
  public void visitLocalVariable(@NotNull PsiLocalVariable variable) {
    if (myRole1 == ChildRole.INITIALIZER_EQ || myRole2 == ChildRole.INITIALIZER_EQ) {
      createSpaceInCode(mySettings.SPACE_AROUND_ASSIGNMENT_OPERATORS);
    }
    else if (isFinalKeywordBefore(myChild2) && myType2 == JavaElementType.TYPE) {
      myResult = Spacing.createSpacing(1, 1, 0, false, mySettings.KEEP_BLANK_LINES_IN_CODE);
    }
    else if (myRole1 == ChildRole.MODIFIER_LIST
             || myRole2 == ChildRole.TYPE_REFERENCE
             || myRole1 == ChildRole.TYPE_REFERENCE
             || myRole2 == ChildRole.TYPE
             || myRole1 == ChildRole.TYPE) {
      createSpaceInCode(true);
    }
    else if (myType2 == JavaTokenType.SEMICOLON &&
             isAllowedToMoveSemicolonInLongCallChain()) {
      myResult =
        Spacing.createDependentLFSpacing(0, 0, myChild1.getTextRange(), mySettings.KEEP_LINE_BREAKS, mySettings.KEEP_BLANK_LINES_IN_CODE);
    }
    else if (myType2 == JavaTokenType.SEMICOLON) {
      PsiElement pp = myParent.getParent();
      if (pp instanceof PsiDeclarationStatement) {
        PsiElement ppp = pp.getParent();
        if (ppp instanceof PsiForStatement) {
          createSpaceInCode(mySettings.SPACE_BEFORE_SEMICOLON);
          return;
        }
      }
      createSpaceProperty(false, false, 0);
    }
  }
@Override
  public void visitLocalVariable(@NotNull PsiLocalVariable variable)