code: public void addItemDecoration(ItemDecoration decor, int index) {
          if (mItemDecorations.isEmpty()) {
              setWillNotDraw(false);
          }
          if (index < 0) {
              mItemDecorations.add(decor);
          } else {
              mItemDecorations.add(index, decor);
          }
          markItemDecorInsetsDirty();
          requestLayout();
      }
docs: Add an {@link com.twotoasters.android.support.v7.widget.RecyclerView.ItemDecoration} to this RecyclerView. Item decorations can
  affect both measurement and drawing of individual item views.
  
  <p>Item decorations are ordered. Decorations placed earlier in the list will
  be run/queried/drawn first for their effects on item views. Padding added to views
  will be nested; a padding added by an earlier decoration will mean further
  item decorations in the list will be asked to draw/pad within the previous decoration's
  given area.</p>
  
  @param decor Decoration to add
  @param index Position in the decoration chain to insert this decoration at. If this value
  is negative the decoration will be added at the end.