public ModelCanvas get(Object key) {
		if (!lazyInit)
			return map.get(key);
		ModelCanvas value = map.get(key);
		if (value == null) {
			if (key.equals(MOLECULAR_MODEL_1)) {
				initAtomContainer(0);
				value = new ModelCanvas(atomContainer[0]);
				map.put(MOLECULAR_MODEL_1, value);
			}
			else if (key.equals(MOLECULAR_MODEL_2)) {
				initAtomContainer(1);
				value = new ModelCanvas(atomContainer[1]);
				map.put(MOLECULAR_MODEL_2, value);
			}
			else if (key.equals(GB_MODEL_1)) {
				initGBContainer(0);
				value = new ModelCanvas(gbContainer[0]);
				map.put(GB_MODEL_1, value);
			}
			else if (key.equals(GB_MODEL_2)) {
				initGBContainer(1);
				value = new ModelCanvas(gbContainer[1]);
				map.put(GB_MODEL_2, value);
			}
			else if (key.equals(REACTION_MODEL_1)) {
				initChemContainer(0);
				value = new ModelCanvas(chemContainer[0]);
				map.put(REACTION_MODEL_1, value);
			}
			else if (key.equals(REACTION_MODEL_2)) {
				initChemContainer(1);
				value = new ModelCanvas(chemContainer[1]);
				map.put(REACTION_MODEL_2, value);
			}
			if (value != null)
				value.setPage(page);
		}
		return value;
	}