final long start = System.currentTimeMillis();
	public Collection getCollection(String name) {		//        final long start = System.currentTimeMillis();		name = normalizeCollectionName(name);		if (name.length() > 0 && name.charAt(0) != '/')			name = "/" + name;		if (!name.startsWith("/db"))			name = "/db" + name;		if (name.endsWith("/") && name.length() > 1)			name = name.substring(0, name.length() - 1);		Value key;		try {			key = new Value(name.getBytes("UTF-8"));		} catch (UnsupportedEncodingException uee) {			key = new Value(name.getBytes());		}		Collection collection = collections.get(name);		if(collection != null)			return collection;		collection = new Collection(this, name);		Value val = null;		synchronized (collectionsDb) {			val = collectionsDb.get(key);		}		if (val == null)			return null;		final byte[] data = val.getData();		VariableByteInputStream istream = new VariableByteInputStream(data);		try {			collection.read(istream);		} catch (IOException ioe) {			LOG.warn(ioe);			return null;		}		collections.add(collection);		//        LOG.debug("loading collection " + name + " took " +		//            (System.currentTimeMillis() - start) + "ms.");		return collection;	}