public PropertyManager < T > getPropertyManager ( T property ) { PropertyManager < T > propertyManager = propertyManagerCache . get ( property ) ; if ( propertyManager == null ) { PropertyManager < T > newPropertyManager = new PropertyManager < T > ( property , this ) ; propertyManager = propertyManagerCache . putIfAbsent ( property , newPropertyManager ) ; if ( propertyManager == null ) { propertyManager = newPropertyManager ; } } return propertyManager ; }
Get an object that will encapsulate the functionality of this manager specific to a single property . This makes it easier to watch modify and generally interact with a single property .