code: @Nullable
      public T getValue() {
          Object data = mData;
          if (data != NOT_SET) {
              //noinspection unchecked
              return (T) data;
          }
          return null;
      }
docs: Returns the current value.
  Note that calling this method on a background thread does not guarantee that the latest
  value set will be received.
  
  @return the current value