if (varChild_lVal == COM.CHILDID_SELF) event.childID = ACC.CHILDID_SELF; else if (control instanceof Tree) event.childID = varChild_lVal; else event.childID = varChild_lVal - 1;
event.childID = osToChildID(varChild_lVal);
	int accLocation(int pxLeft, int pyTop, int pcxWidth, int pcyHeight, int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2) {		if (iaccessible == null) return COM.CO_E_OBJNOTCONNECTED;		if ((varChild_vt & 0xFFFF) != COM.VT_I4) return COM.E_INVALIDARG;		/* Get the default location from the OS. */		int osLeft = 0, osTop = 0, osWidth = 0, osHeight = 0;		int code = iaccessible.accLocation(pxLeft, pyTop, pcxWidth, pcyHeight, varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2);		if (code == COM.E_INVALIDARG) code = COM.S_FALSE; // proxy doesn't know about app childID		if (accessibleControlListeners.size() == 0) return code;		if (code == COM.S_OK) {			int[] pLeft = new int[1], pTop = new int[1], pWidth = new int[1], pHeight = new int[1];			COM.MoveMemory(pLeft, pxLeft, 4);			COM.MoveMemory(pTop, pyTop, 4);			COM.MoveMemory(pWidth, pcxWidth, 4);			COM.MoveMemory(pHeight, pcyHeight, 4);			osLeft = pLeft[0]; osTop = pTop[0]; osWidth = pWidth[0]; osHeight = pHeight[0];		}		AccessibleControlEvent event = new AccessibleControlEvent(this);		if (varChild_lVal == COM.CHILDID_SELF) event.childID = ACC.CHILDID_SELF;		else if (control instanceof Tree) event.childID = varChild_lVal; // Tree item childIDs are pointers		else event.childID = varChild_lVal - 1; // All other childIDs are 1-based indices		event.x = osLeft;		event.y = osTop;		event.width = osWidth;		event.height = osHeight;		for (int i = 0; i < accessibleControlListeners.size(); i++) {			AccessibleControlListener listener = (AccessibleControlListener) accessibleControlListeners.elementAt(i);			listener.getLocation(event);		}		OS.MoveMemory(pxLeft, new int[] { event.x }, 4);		OS.MoveMemory(pyTop, new int[] { event.y }, 4);		OS.MoveMemory(pcxWidth, new int[] { event.width }, 4);		OS.MoveMemory(pcyHeight, new int[] { event.height }, 4);		return COM.S_OK;	}