             end
           end)
 
+        # Remove any nil entries (indicating review not required)
+        # Pick the last matching entry (entries further down in the file have higher priority
         pats =
           Enum.reduce(pats, nil, fn x, acc ->
             if x != nil do

  # Returns a list of lists
  # Items in the inner lists are joined by an OR statement
  # Items in the the outer list are joined by an AND statement
  # [ [A], [A, B], [A, C] -> A and (A or B) and (A or C)
  @spec list_required_reviews(%BorsNG.CodeOwners{}, [%BorsNG.GitHub.File{}]) :: [[String.t]]
  def list_required_reviews(code_owners, files) do
    Logger.debug("Code Owners: #{inspect(code_owners)}")

              acc
            end
          end)
      end)

    required_reviewers = Enum.filter(required_reviewers, fn x -> x != nil end)
