accessible.AddRef();
	int get_accChild(int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2, int ppdispChild) {		if (iaccessible == null) return COM.CO_E_OBJNOTCONNECTED;		if ((varChild_vt & 0xFFFF) != COM.VT_I4) return COM.E_INVALIDARG;		if (accessibleControlListeners.size() == 0) {			int code = iaccessible.get_accChild(varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2, ppdispChild);			if (code == COM.E_INVALIDARG) code = COM.S_FALSE; // proxy doesn't know about app childID			return code;		}		AccessibleControlEvent event = new AccessibleControlEvent(this);		event.childID = osToChildID(varChild_lVal);		for (int i = 0; i < accessibleControlListeners.size(); i++) {			AccessibleControlListener listener = (AccessibleControlListener) accessibleControlListeners.elementAt(i);			listener.getChild(event);		}		Accessible accessible = event.accessible;		if (accessible != null) {			COM.MoveMemory(ppdispChild, new int[] { accessible.objIAccessible.getAddress() }, 4);			return COM.S_OK;		}		return COM.S_FALSE;	}