question: add a listener item to a device feature concode_field_sep String m_name concode_elem_sep InsteonDevice m_device concode_elem_sep HashMap<Integer,MessageHandler> m_msgHandlers concode_elem_sep CommandHandler m_defaultCommandHandler concode_elem_sep MessageHandler m_defaultMsgHandler concode_elem_sep MessageDispatcher m_dispatcher concode_elem_sep QueryStatus m_queryStatus concode_elem_sep PollHandler m_pollHandler concode_elem_sep Logger logger concode_elem_sep boolean m_isStatus concode_elem_sep HashMap<Class<? extends Command>,CommandHandler> m_commandHandlers concode_elem_sep ArrayList<DeviceFeatureListener> m_listeners concode_elem_sep HashMap<String,FeatureTemplate> s_features concode_field_sep QueryStatus getQueryStatus concode_elem_sep String getName concode_elem_sep boolean isStatusFeature concode_elem_sep void setPollHandler concode_elem_sep void s_readFeatureTemplates concode_elem_sep void s_readFeatureTemplates concode_elem_sep MessageHandler getDefaultMsgHandler concode_elem_sep InsteonDevice getDevice concode_elem_sep void setMessageDispatcher concode_elem_sep void handleCommand concode_elem_sep void setQueryStatus concode_elem_sep Msg makePollMsg concode_elem_sep boolean hasListeners concode_elem_sep void addCommandHandler concode_elem_sep HashMap<Integer,MessageHandler> getMsgHandlers concode_elem_sep void setDefaultMsgHandler concode_elem_sep boolean isReferencedByItem concode_elem_sep boolean handleMessage concode_elem_sep void setStatusFeature concode_elem_sep boolean removeListener concode_elem_sep void setDevice concode_elem_sep void addMessageHandler concode_elem_sep void setDefaultCommandHandler concode_elem_sep void publish concode_elem_sep DeviceFeature s_makeDeviceFeature concode_elem_sep String toString
target: void function ( DeviceFeatureListener arg0 ) { synchronized ( m_listeners ) { for ( DeviceFeatureListener loc0 : m_listeners ) { if ( loc0 . getItemName ( ) . equals ( arg0 . getItemName ( ) ) ) { return ; } } m_listeners . add ( arg0 ) ; } }