code: public boolean destroy(Contextual bean)
      {
          FacesContext facesContext = FacesContext.getCurrentInstance();
          List<String> activeFlowMapKeys = getFlowScopeBeanHolder().getActiveFlowMapKeys(facesContext);
          for (String flowMapKey : activeFlowMapKeys)
          {
              ContextualStorage storage = getContextualStorage(false, flowMapKey);
              if (storage == null)
              {
                  //return false;
                  continue;
              }
              ContextualInstanceInfo<?> contextualInstanceInfo = storage.getStorage().get(storage.getBeanKey(bean));
  
              if (contextualInstanceInfo == null)
              {
                  //return false;
                  continue;
              }
  
              bean.destroy(contextualInstanceInfo.getContextualInstance(), contextualInstanceInfo.getCreationalContext());
              return true;
          }
          return false;
      }
docs: Destroy the Contextual Instance of the given Bean.
  @param bean dictates which bean shall get cleaned up
  @return <code>true</code> if the bean was destroyed, <code>false</code> if there was no such bean.