code: @SuppressWarnings("unchecked")
      public void setAdapter(@Nullable DataAdaptiveTableLayoutAdapter adapter) {
          if (mAdapter != null) {
              mAdapter.unregisterDataSetObserver(this);
          }
          mAdapter = adapter;
  
          if (mAdapter != null) {
              mAdapter.registerDataSetObserver(this);
          }
  
          if (mSettings.getLayoutHeight() != 0 && mSettings.getLayoutWidth() != 0) {
              initItems();
          }
      }
docs: Set adapter with MUTABLE data.
  You need to implement switch rows and columns methods.
  On drag and drop event calls {@link DataAdaptiveTableLayoutAdapter#changeColumns(int, int)} and
  {@link DataAdaptiveTableLayoutAdapter#changeRows(int, int, boolean)}
  <p>
  DO NOT USE WITH BIG DATA!!
  
  @param adapter DataAdaptiveTableLayoutAdapter adapter