public static Object introspect(Object obj,HashMap<String,Object> values) throws NoClassFoundException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, ParseException{
		Class theClass = getClass(obj);
		HashMap<String,Method> fieldToMethod=initializeMethodToValue(theClass.getDeclaredFields(), getSetters(theClass));
		Iterator it = values.entrySet().iterator();
		while (it.hasNext()) {
	        Map.Entry pairs = (Map.Entry)it.next();
	        Method m = fieldToMethod.get(pairs.getKey());
	        MethodDetails md = getMethodDetails(m);        
	        Object[] arguments = new Object[md.getArguments().size()];
	        for(int i=0;i<arguments.length;i++){
	        	arguments[i]=convertToObject(md.getArguments().get(i).toString(), pairs.getValue().toString());
	        }
	        m.invoke(obj, arguments);
	    }
		return obj;
		
	}