public Integer getNumber(ConnectionWrapper cw, String name) throws SQLException
	{
		if(name == null)
		{
			return null;
		}
		Integer res = nameToNumber.get(name);
		if (res == null)
		{
			// has an unknown name appeared in the database?
			loadData(cw);
			res = nameToNumber.get(name);
			if (res == null)
			{
				// nope, it must be one we have created
				saveName(cw, name);
				res = nameToNumber.get(name);
			}
		}
		return res;
	}