code: public final void setData(@Nullable Data<?> data) {
          setDatas(data != null ? singleton(data) : Collections.<Data<?>>emptyList());
      }
docs: Connects this view to a {@link Data} instance, so it can observe its loading/error/empty state and adjust child
  view visibility accordingly.
  @param data The data instance to observe, which may be {@code null} to cease observing anything.