private void finishParse(Vector methods, Object root, Object handler) {
		if (methods != null) for (int i = 0; i < methods.size(); i += 3) {
			Object component = methods.elementAt(i);
			Object[] definition = (Object[]) methods.elementAt(i + 1);
			String value = (String) methods.elementAt(i + 2);
			
			if ("method" == definition[0]) {
				Object[] method = getMethod(component, value, root, handler);
				if ("init" == definition[1]) {
					invokeImpl(method, null);
				}
				else {
					set(component, definition[1], method);
				}
			}
			else { // ("component" == definition[0])
				Object reference = find(root, value); //+start find from the component
				if (reference == null) throw new IllegalArgumentException(value + " not found"); 
				set(component, definition[1], reference);
			}
		}
	}