code: public void remove(Listener listener) {
          logger.trace("Removing listener [{}]", listener);
          synchronized (listeners) {
              listeners.remove(listener);
          }
          synchronized (weakListeners) {
              weakListeners.remove(listener);
          }
      }
docs: Removes a {@link org.vaadin.spring.events.internal.ListenerCollection.Listener} previously added by
  {@link #add(org.vaadin.spring.events.internal.ListenerCollection.Listener)}.
  If no listener definition is found in the collection, nothing happens.
  
  @param listener the listener to remove, never {@code null}.
  @see #add(org.vaadin.spring.events.internal.ListenerCollection.Listener)