public static void main(String[] args) throws Exception{
//		Class<? extends java.awt.Frame> cls = getClass("java.awt.Frame").asSubclass(Frame.class);
		Class cls = getClass("java.awt.Frame");
//		printAllMembers(cls);
//		Frame[] frameArr = toArray(cls, 2);
		System.out.println();
//		Frame frame = (Frame) getInstance(cls, "Rafa");
		Object frame = getInstance(cls);
//		setElement(frameArr, frame, 0);
//		invoke(frameArr[0], "getTitle");
//		setField(frameArr[0], "title", "tennis365");
//    	invoke(frameArr[0], "setResizable", true);
//    	invoke(frameArr[0], "setTitle", "tennis846");
//    	invoke(frameArr[0], "setSize", 200, 100);
//    	invoke(frameArr[0], "setBackground", Color.GREEN);
//    	invoke(frameArr[0], "setVisible", true);
//    	invoke(frameArr[0], "getTitle");
//    	invoke(frameArr[0], "getSize");
		
		String[] str = new String[2];
		str[0] = "true";
		str[1] = "bbb";
		
		Object[] oList = toArray(Object.class, 100);
		oList[0] = getInstance(cls, "rafa");
		ArrayList<Object> arr = new ArrayList<Object>();
		arr.add(oList[0]);
		System.out.println("0."+arr.get(0).getClass().getSuperclass().toString());
		System.out.println("1."+cls.getSuperclass().toString());
		System.out.println("2."+oList[0].getClass().getSuperclass().toString());
		printAllMembers(oList[0].getClass());
		
		invoke(oList[0], "getTitle");
//		invoke(oList[0],  "setField", "title", "tennis365");
//		invoke(oList[0], "getField", "title");
		setField(oList[0], "title", "tennis365");
		System.out.println("field: " + getField(oList[0], "title"));
    	invoke(oList[0], "setResizable", true);
    	invoke(oList[0], "setTitle", "tennis846");
    	invoke(oList[0], "setSize", 200, 100);
    	invoke(oList[0], "setBackground", Color.GREEN);
//    	invoke(oList[0], "setVisible", true);
    	invoke(oList[0], "getTitle");
    	invoke(oList[0], "getSize");
		
//		invoke(frame, "getTitle");
//		setField(frame, "title", "tennis365");
//    	invoke(frame, "setResizable", true);
//    	invoke(frame, "setTitle", "tennis846");
//    	invoke(frame, "setSize", 200, 100);
//    	invoke(frame, "setBackground", Color.GREEN);
////    	invoke(frame, "setVisible", true);
//    	invoke(frame, "getTitle");
//    	invoke(frame, "getSize");

	}