refs #332: synchronize fetching from datasource to avoid racing condition

this covers the case in which the datasource call triggers an asynchronous fetch which responds too fast.