get(index) {

        // ensure `index` is a positive value and the list isn't empty
        if ((index > -1) && (this[head] !== null)) {

            /*
             * The `current` variable is used to track the node that is being
             * used inside of the loop below. It starts out pointing to
             * `this[head]` (the first node) and is overwritten inside of the loop.
             */
            let current = this[head];

            /*
             * The `i` variable is used to track how deep into the list we've
             * gone. This is important because it's the only way to know when
             * we've hit the `index` to insert into.
             */
            let i = 0;

            /*
             * Traverse the nodes in the list and keep track of how deep we are
             * into the list. If we've reached the first node in the list
             * (`this[head]`) or we've gone past the end of the list
             * (`i > index`), then exit the loop.
             */
            do {

                /*
                 * If the current position matches, the index being requested,
                 * then return the data in the current node and exit immediately.
                 */
                if (i === index) {
                    return current.data;
                }

                // otherwise, go on to the next node
                current = current.next;

                // and increment the index
                i++;

            } while ((current !== this[head]) && (i <= index));

            /*
             * If we've made it here, it means that that the index is past the
             * end of the list. Execution now falls through the last `return`
             * statement in this method, returning `undefined` to indicate no
             * data was found.
             */
        }

        return undefined;
    }
Retrieves the data in the given position in the list.
@param {int} index The zero-based index of the item whose data 
     should be returned.
@returns {*} The data in the "data" portion of the given item
     or undefined if the item doesn't exist.