public <T> T loadConfig(Class<T> cl, String configPath) {
		try {
			T config = cl.newInstance();
			Map<String, String> map = FileUtil
					.readKeyValueConfigFile(configPath);
			if (map == null) {
				Log.e(TAG + ":" + " read configfile error filepath is "
						+ configPath == null ? "null" : configPath);
				return null;
			}
			for (String key : map.keySet()) {
				invokeGetMethod(config, cl, key, map.get(key));
			}
			return config;
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (SecurityException e) {
			e.printStackTrace();
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (NoSuchMethodException e) {
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			e.printStackTrace();
		}
		return null;
	}