public void addListener( Object listener )
    {
        Class<?> listenerClass = listener.getClass();

        for (Class<?> listenerInterface : listenerClass.getInterfaces())
        {
            RemoteInterface ri = listenerInterface.getAnnotation( RemoteInterface.class );

            if (ri != null)
            {
                addInterface( listenerInterface );

                for (RemoteMethodEntry entry : entries[ri.id()])
                {
                    if (entry != null)
                    {
                        entry.listener = listener;    
                    }
                }
            }
        }
    }