/* */
/* */ public void addPropertyListener(int paramInt, AUPropertyListener paramAUPropertyListener)
/* */ throws CAException
/* */ {
/* 798 */ if (paramAUPropertyListener == null) {
/* 799 */ throw new CAException("Must specifiy a listener to add");
/* */ }
/* 801 */ if (this.idTable == null) {
/* 802 */ this.idTable = new Hashtable();
/* */ }
/* 804 */ synchronized (this.idTable) {
/* 805 */ Integer localInteger = new Integer(paramInt);
/* 806 */ Object localObject1 = this.idTable.get(localInteger);
/* 807 */ if (localObject1 != null) {
/* 808 */ localObject2 = (Hashtable)localObject1;
/* 809 */ Object localObject3 = ((Hashtable)localObject2).get(paramAUPropertyListener);
/* 810 */ if (localObject3 != null)
/* 811 */ throw new CAException("Can't add same listener to same propertyID");
/* */ }
/* 813 */ Object localObject2 = new AUDispatcher(this, paramAUPropertyListener);
/* */
/* 815 */ int i = AudioUnitAddPropertyListener(_ID(), paramInt, ((AUDispatcher)localObject2).ID(), ((AUDispatcher)localObject2).refCon());
/* 816 */ if (i != 0) {
/* 817 */ ((AUDispatcher)localObject2).cleanup();
/* 818 */ throw new CAException(i);
/* */ }
/* */ Hashtable localHashtable;
/* 820 */ if (localObject1 == null) {
/* 821 */ localHashtable = new Hashtable();
/* 822 */ localHashtable.put(paramAUPropertyListener, localObject2);