docs: protected void checkDisabled(FacesContext facesContext, String label, List<?> newEntries, List<?> oldEntries) {
          if (!isValid()) {
              return;
          }
  
          Map<String, Object> requestMap = facesContext.getExternalContext().getRequestMap();
          String varName = getVar();
          String clientId = getClientId(facesContext);
          Object originalItem = requestMap.get(varName);
  
          for (int i = 0; i < newEntries.size(); i++) {
              Object item = newEntries.get(i);
              // Set the current item in request map to get its properties via stateHelper().eval() call
              requestMap.put(varName, item);
              boolean itemDisabled = isItemDisabled();
              // Check if disabled item has been moved from its former/original list
              if (itemDisabled && !oldEntries.contains(item)) {
                  FacesMessage message = MessageFactory.getMessage(UPDATE_MESSAGE_ID, FacesMessage.SEVERITY_ERROR, new Object[] {label});
                  facesContext.addMessage(clientId, message);
                  setValid(false);
                  break;
              }
          }
  
          // put the original value back
          requestMap.put(varName, originalItem);
      }