question: public IDevice learnEntity ( long macAddress , Short vlan , Integer ipv4Address , Long switchDPID , Integer switchPort , boolean processUpdates ) { List < IDeviceListener > listeners = deviceListeners . getOrderedListeners ( ) ; if ( ! processUpdates ) { deviceListeners . clearListeners ( ) ; } if ( vlan != null && vlan . shortValue ( ) <= 0 ) vlan = null ; if ( ipv4Address != null && ipv4Address == 0 ) ipv4Address = null ; IDevice res = learnDeviceByEntity ( new Entity ( macAddress , vlan , ipv4Address , switchDPID , switchPort , new Date ( ) ) ) ; if ( listeners != null ) { for ( IDeviceListener listener : listeners ) { deviceListeners . addListener ( "device" , listener ) ; } } return res ; }
target:  Learn a device using the given characteristics.