shouldn't the `dataFetcher` be closed by the caller of this method, because the caller created this object...?