static final public Object nestedValue(Map map, String path){
		Object val = null;

		String[] names = path.split("\\.");
		Map m = map;
		int lastIdx = names.length - 1;
		for (int i = 0; i < names.length; i++) {
			String name = names[i];
			// assume the map have string Keys
			Object v = m.get(name);
			if (i == lastIdx){
				// if it is the last index, then, just return the value.
				val = v;
				break;
			}else{

				if (v instanceof Map){
					// if it not the last index, and it is v is a Map, then, we continue
					m = (Map)v;
				}else{
					// otherwise, we break (Omni object will add support for typed object, but here, just support plain map)
					break;
				}
			}
		}
		return val;
	}