public void addObserver ( PropertySetter observer , String ... properties ) { try { semaphore . acquire ( ) ; } catch ( InterruptedException ex ) { throw new IllegalArgumentException ( ex ) ; } try { addObserver ( observer ) ; for ( String p : properties ) { observers . addObserver ( p , observer ) ; } } finally { semaphore . release ( ) ; } }
Adds a PropertySetter observer for properties .