static void analyze(Object obj) {
		Class clazz = obj.getClass();
		String name = clazz.getName();
		System.out.println(name);
		
		Constructor[] constructors = clazz.getConstructors();
		for (Constructor c : constructors) {
			System.out.println("Constructor name: " + c.getName());
		}
		
		Field[] fields = clazz.getFields();
		for (Field f : fields) {
			System.out.println("field: " + f.getName());
		}
		
		Field[] declaredFields = clazz.getDeclaredFields();
		
		for (Field f : declaredFields) {
			System.out.println("declared field:" + f.getName());
		}
		
		Method[] methods = clazz.getMethods();
		
		for (Method m : methods) {
			System.out.println("method: " + m.getName());
		}
		
		Method[] declaredMethods = clazz.getDeclaredMethods();
		for (Method m : declaredMethods) {
			System.out.println("declared method: " + m.getName());
		}
	}