# Challenge: Inventory Stock Counter
**Difficulty:** Easy
**Language:** Java
**Subject:** HashMap Fundamentals

## Description
In software engineering, HashMaps are one of the most frequently used data structures for creating efficient lookups. One of the most common "real-world" applications for a HashMap is counting occurrences—such as counting how many times a specific word appears in a book, how many users performed an action, or, in this case, how many units of a product are in a warehouse.

Your task is to build a simple Inventory Management tool. You will be given an array of strings where each string represents a product being scanned into a warehouse. If a product is scanned multiple times, it means multiple units of that same product are being added to the stock. You need to process this list and produce a summary showing the total count for each unique product.

## Requirements
- Create a method `Map<String, Integer> countStock(String[] products)` that accepts an array of product names.
- Use a `HashMap<String, Integer>` to store the results, where the **Key** is the product name (String) and the **Value** is the total count (Integer).
- The method must iterate through the array and update the counts correctly:
    - If a product is not in the map yet, add it with a count of 1.
    - If a product is already in the map, increment its existing count by 1.
- The final Map should be returned by the method.

## Hints
- Use the `map.containsKey(key)` method to check if a product has already been encountered.
- Alternatively, look into the `map.getOrDefault(key, 0)` method, which is a very "clean" way to handle values that might not exist yet.
- Ensure you import `java.util.HashMap` and `java.util.Map`.

## Validation
- **Check:** Call `countStock(new String[]{"apple", "banana", "apple", "orange", "banana", "apple"})`
- **Expected Output:** A Map containing: `{apple=3, banana=2, orange=1}`