If someone else has started working on the data, wait for them to complete and return a pointer to the data. Otherwise, return null, and the caller should start working on the data. It’s not required to call start() before resolve() but it can be useful since this method is thread-safe.