I have an assignment where I have to read a file, take each line as a node in a circular linked list and then run through `scatter()` and `gather()` methods. I'm not asking for any code specifically, rather I'm having trouble visualizing the concepts. I'll provide the directions given to me if anyone could maybe help clear up the terminology. **Please try not to give any code that specifically gives away the answer**, unless you're trying to explain something because this is a school assignment.

Now I'm having trouble with the next two methods, `scatter()` and `gather()`. Here are their comments I was provided in the file:

```
/**
     * Scatters entries of master list (referenced by instance field masterListReat) 
     * to buckets for a given pass.
     * 
     * Passes are digit by digit, starting with the rightmost digit -
     * the rightmost digit is the "0-th", i.e. pass=0 for rightmost digit, pass=1 for 
     * second to rightmost, and so on. 
     * 
     * Each digit is extracted as a character, 
     * then converted into the appropriate numeric value in the given radix
     * using the java.lang.Character.digit(char ch, int radix) method
     * 
     * @param pass Pass is 0 for rightmost digit, 1 for second to rightmost, etc
     */
    public void scatter(int pass) {
        // WRITE YOUR CODE HERE
    }

    /**
     * Gathers all the CLLs in all the buckets into the master list, referenced
     * by the instance field masterListRear
     * 
     * @param buckets Buckets of CLLs
     */
    public void gather() {
        // WRITE YOUR CODE HERE
    }   

```

I'm already provided with an array of circular linked lists called `buckets[]`, which is initiated to `null`. The confusing part to me is what goes in the nodes of circular linked list of each bucket. Could someone help clear up the directions possibly for those last two methods and what exactly they are suppose to do?

Thanks.