public StandardTitanGraph(GraphDatabaseConfiguration configuration) {
    this.config = configuration;
    this.storage = configuration.getStorageManager();
    this.edgeStore = configuration.getEdgeStore(this.storage);
    this.propertyIndex = configuration.getPropertyIndex(this.storage);
    this.bufferMutations = configuration.hasBufferMutations();
    this.bufferSize = configuration.getBufferSize();
    Preconditions.checkArgument(bufferSize > 0);
    this.maxWriteRetryAttempts = config.getWriteAttempts();
    this.maxReadRetryAttempts = config.getReadAttempts();
    this.retryStorageWaitTime = config.getStorageWaittime();

    this.idAssigner = config.getIDAssigner(this.storage);
    this.idManager = idAssigner.getIDManager();

    this.serializer = config.getSerializer();
    this.etManager = new SimpleTypeManager(this);
    isOpen = true;
  }