code: public FetchException toFetchException(Throwable e) {
          FetchException fe = transformIntoFetchException(e);
          if (fe != null) {
              return fe;
          }
  
          Throwable cause = e.getCause();
          if (cause != null) {
              fe = transformIntoFetchException(cause);
              if (fe != null) {
                  return fe;
              }
          } else {
              cause = e;
          }
  
          return new FetchException(cause);
      }
docs: Transforms the given throwable into an appropriate fetch exception. If
  it already is a fetch exception, it is simply casted.
  
  @param e required exception to transform
  @return FetchException, never null