@Nullable
  Alignment computeAlignment(@NotNull ASTNode node) {
    IElementType type = PsiUtilCore.getElementType(node);
    if (type == YAMLElementTypes.SEQUENCE_ITEM) {
      if (node.getTreeParent().getElementType() == YAMLElementTypes.ARRAY) {
        YAMLSequence sequence = (YAMLSequence)node.getTreeParent().getPsi();
        for (YAMLSequenceItem child : sequence.getItems()) {
          // do not align multiline elements in json-style arrays
          if (child.textContains('\n')) {
            return null;
          }
        }
      }
      // Anyway we need to align `-` symbols in block-style sequences
      return myChildIndentAlignments.get(node.getTreeParent());
    }
    if (type == YAMLElementTypes.KEY_VALUE_PAIR) {
      return myChildIndentAlignments.get(node.getTreeParent());
    }
    if (getValueAlignment == YAMLCodeStyleSettings.ALIGN_ON_COLON) {
      if (type == YAMLTokenTypes.COLON) {
        return myChildValueAlignments.get(node.getTreeParent().getTreeParent());
      }
    }
    else if (getValueAlignment == YAMLCodeStyleSettings.ALIGN_ON_VALUE) {
      if (YAMLElementTypes.SCALAR_ITEMS.contains(type)) {
        // for block scalar here we consider only headers
        ASTNode prev = getPreviousNonBlankNode(node.getTreeParent());
        if (PsiUtilCore.getElementType(prev) == YAMLTokenTypes.COLON) {
          return myChildValueAlignments.get(prev.getTreeParent().getTreeParent());
        }
      }
    }
    return null;
  }
@Nullable
  Alignment computeAlignment(@NotNull ASTNode node)