NodeManager(
     GraphDatabaseService graphDb,
     AdaptiveCacheManager cacheManager,
     LockManager lockManager,
     LockReleaser lockReleaser,
     TransactionManager transactionManager,
     PersistenceManager persistenceManager,
     IdGenerator idGenerator,
     boolean useNewCaches) {
   this.graphDbService = graphDb;
   this.cacheManager = cacheManager;
   this.lockManager = lockManager;
   this.transactionManager = transactionManager;
   this.propertyIndexManager =
       new PropertyIndexManager(transactionManager, persistenceManager, idGenerator);
   this.lockReleaser = lockReleaser;
   lockReleaser.setNodeManager(this);
   lockReleaser.setPropertyIndexManager(propertyIndexManager);
   this.persistenceManager = persistenceManager;
   this.idGenerator = idGenerator;
   this.relTypeHolder =
       new RelationshipTypeHolder(transactionManager, persistenceManager, idGenerator);
   if (useNewCaches) {
     nodeCache = new SoftLruCache<Integer, NodeImpl>("NodeCache");
     relCache = new SoftLruCache<Integer, RelationshipImpl>("RelationshipCache");
   } else {
     nodeCache = new LruCache<Integer, NodeImpl>("NodeCache", 1500, this.cacheManager);
     relCache =
         new LruCache<Integer, RelationshipImpl>("RelationshipCache", 3500, this.cacheManager);
   }
   for (int i = 0; i < loadLocks.length; i++) {
     loadLocks[i] = new ReentrantLock();
   }
 }