ApplicationValidator applicationValidator) {
this.applicationValidator = applicationValidator;
rootResources = new LinkedList<ResourceRecord>();
resourceRecordsFactory = new ResourceRecordFactory(factoryRegistry);
ReadWriteLock readWriteLock = new ReentrantReadWriteLock();
readersLock = readWriteLock.readLock();
writersLock = readWriteLock.writeLock();
uriToResourceCache.put(Boolean.TRUE,
new SoftConcurrentMap<String, ArrayList<ResourceRecord>>());
uriToResourceCache.put(Boolean.FALSE,
new SoftConcurrentMap<String, ArrayList<ResourceRecord>>());