code: private boolean findInList(String[] address, int index, FilterCellSlowStr cell, int endIndex) {
  
          if (cell.getWildcardCell() != null) {
              // a wildcard, match found
              return true;
          }
          // no wildcard so far, see if there is a still a path
          FilterCellSlowStr nextCell = cell.findNextCell(address[index]);
          if (nextCell != null) {
              // see if we are at the end of a valid path
              if (index == endIndex) {
                  // this path found a match, unwind returning true
                  return true;
              }
              // ok so far, recursively search this path
              return findInList(address, index + 1, nextCell, endIndex);
          }
          // this path did not find a match.
          return false;
      }
docs: Determine, recursively, if an address is in the address tree.
  
  @param address
  address to look for as a string array.
  The 0th index of the array is the rightmost substring of
  the string and so on. Each substring is the chars between
  two periods (".") in a URL address.
  @param index
  the next index in the address array to match against the tree.
  @param cell
  the current cell in the tree that we are matching against
  @param endIndex
  the last index in the address array that we need to match
  @return true if this address is found in the address tree, false if
  it is not.