private synchronized DatasetGraphTDB buildWorker(Location location, boolean writeable, ReorderTransformation _transform, StoreParams params) {
recorder.start() ;
DatasetControl policy = createConcurrencyPolicy() ;
NodeTable nodeTable = makeNodeTable(location, params) ;
TripleTable tripleTable = makeTripleTable(location, nodeTable, policy, params) ;
QuadTable quadTable = makeQuadTable(location, nodeTable, policy, params) ;
DatasetPrefixesTDB prefixes = makePrefixTable(location, policy, params) ;
ReorderTransformation transform = (_transform == null) ? chooseReorderTransformation(location) : _transform ;
StorageConfig storageConfig = new StorageConfig(location, params, writeable,
recorder.blockMgrs, recorder.objectFiles, recorder.bufferChannels) ;
recorder.finish() ;
DatasetGraphTDB dsg = new DatasetGraphTDB(tripleTable, quadTable, prefixes, transform, storageConfig) ;
dsg.getContext().set(ARQ.optFilterPlacementBGP, false) ;
QC.setFactory(dsg.getContext(), OpExecutorTDB1.OpExecFactoryTDB) ;
return dsg ;
}