static public List<Class<?>> getMapTypes(String str_className, String str_fieldName) {
		List<Class<?>> lcla_types = new ArrayList<Class<?>>();

		try {
			Class<?> lcl_class = Class.forName(str_className);
			Field lcl_f = lcl_class.getDeclaredField(str_fieldName);
			Type lcl_type = lcl_f.getGenericType();

			if (lcl_type instanceof ParameterizedType) {
				ParameterizedType lcl_pType = (ParameterizedType) lcl_type;
				// Type lcl_rawType = lcl_pType.getRawType();
				// Class lcl_argType =
				// (Class)lcl_pType.getActualTypeArguments()[0];

				for (Type lcl_classT : lcl_pType.getActualTypeArguments()) {
					lcla_types.add((Class<?>) lcl_classT);
				}

				return lcla_types;
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		return null;
	}