protected function generateIntersection($combinationMask) {
    $combination = [];
    foreach (str_split($combinationMask) as $key => $indicator) {
      if ($indicator) {
        $combination[] = $this->arrays[$this->arrayKeys[$key]];
      }
    }
    $intersection = call_user_func_array('array_intersect_assoc', $combination);
    if (count($intersection) >= $this->threshold) {
      $this->intersections[] = $intersection;
      return;
    }
    $this->noResultMasks[] = $combinationMask;
  }