@SuppressWarnings("unchecked")
	public static <T> T getFieldValue(Class<?> clazz, Object instance, String fieldName){
		
		Field[] fields = clazz.getDeclaredFields();
		
		//Scan Fields for the one we are looking for.
		for(Field f: fields){
			if(f.getName().equalsIgnoreCase(fieldName)){
				try{	
					boolean accessDenied = false;
					
					if(!f.isAccessible()){
						f.setAccessible(true);
						accessDenied = true;
					}
					
					T val = (T) f.get(instance);
					
					if(accessDenied)
						f.setAccessible(false);
					
					return val;
				} catch (IllegalArgumentException e) {
					e.printStackTrace();
				} catch (IllegalAccessException e) {
					e.printStackTrace();
				}
			}
		}
		
		return null; //Failure to Grab Value!
	}