code: function _getLongestMatchingPath(containing) {
              if (angular.isUndefined(lxSelect.matchingPaths) || lxSelect.matchingPaths.length === 0) {
                  return undefined;
              }
  
              containing = containing || lxSelect.matchingPaths[0];
  
              var longest = lxSelect.matchingPaths[0];
              var longestSize = longest.split('.').length;
              for (var i = 1, len = lxSelect.matchingPaths.length; i < len; i++) {
                  var matchingPath = lxSelect.matchingPaths[i];
                  if (!matchingPath) {
                      continue;
                  }
  
                  if (matchingPath.indexOf(containing) === -1) {
                      break;
                  }
  
                  var size = matchingPath.split('.').length;
                  if (size > longestSize) {
                      longest = matchingPath;
                      longestSize = size;
                  }
              }
  
              return longest;
          }
docs: Get the longest matching path containing the given string.
  
  @param {string} [containing] The string we want the matching path to contain.
  If none given, just take the longest matching path of the first matching path.