}
public MoleculeGraph getNewGraph() {
graphNumber++;
MapFactory factory = new BdbMapFactory(BDB_HANDLER, "database" + graphNumber);
NodePoolFactory nodePoolFactory = new BdbNodePoolFactory(
new BdbEnvironmentHandlerImpl(new TempDirectoryHandler()), graphNumber);
MoleculeStructureIndex<Long>[] structureIndexes = createMoleculeStructureIndexes();
ReadableIndex<Long> readIndex = new ReadableIndexImpl(structureIndexes);
WritableIndex<Long> writeIndex = new WritableIndexImpl(structureIndexes);
NodePool nodePool = nodePoolFactory.createNewNodePool();
Localizer localizer = new LocalizerImpl(nodePool, STRING_MAPPER);
MoleculeLocalizer moleculeLocalizer = new MoleculeLocalizerImpl(localizer);
LongIndex[] longIndexes = new LongIndex[]{new LongIndexAdapter(structureIndexes[0]),
new LongIndexAdapter(structureIndexes[1]), new LongIndexAdapter(structureIndexes[2])};
collectionFactory = new BdbCollectionFactory(BDB_HANDLER, "collection" + graphNumber);