code: function _resolveInputConflicts(element, tool, options, interactionTypes) {
    // Iterate over the interaction types our tool supports.
    // For each one we intend to activate, check for potential conflicts
    // And resolve them
    tool.supportedInteractionTypes.forEach(interactionType => {
      if (
        interactionTypes === undefined ||
        interactionTypes.includes(interactionType)
      ) {
        const inputResolver = _inputResolvers[interactionType];
  
        if (inputResolver) {
          inputResolver(tool, element, options);
        } else {
          logger.warn(
            'Unable to resolve input conflicts for type %s',
            interactionType
          );
        }
      }
    });
  
    const activeToolsForElement = store.state.tools.filter(
      t =>
        t.element === element &&
        t.mode === 'active' &&
        t.supportedInteractionTypes.length > 0
    );
  
    activeToolsForElement.forEach(t => {
      let toolHasAnyActiveInteractionType = false;
  
      t.supportedInteractionTypes.forEach(interactionType => {
        if (t.options[`is${interactionType}Active`]) {
          toolHasAnyActiveInteractionType = true;
        }
      });
  
      if (!toolHasAnyActiveInteractionType) {
        logger.log("Setting tool %s's to PASSIVE", t.name);
        setToolPassiveForElement(element, t.name);
      }
    });
  }
docs: Find tool's that conflict with the incoming tool's mouse/touch bindings and
  resolve those conflicts.
  
  @private
  @function _resolveInputConflicts
  
  @param {HTMLElement} element
  @param {Object} tool
  @param {(Object|number)} options
  @param {(Array)} interactionTypes
  @returns {undefined}