I am supposed to create an iterative method stretch that takes a positive number n as a parameter and returns a new ListItem beginning a list in which each of the numbers in the original list is repeated n times. For example, if the original list is ( 6 7 6 9 ) and the parameter value is 2, then the new list returned is ( 6 6 7 7 6 6 9 9 ).

I already have a listitem constructor that has the value at that node and the reference to the next:

```
   ListItem(int number, ListItem next) {
        this.number = number;
        this.next   = next;
}

```

My code looks like this: 

```
    public ListItem stretch(int n) {
        //make an array of list items that is n times bigger than the original one.
        ListItem[] newList = new ListItem[this.length() * n];

    //Then loop through the old list one value at a time. At each value do a second loop n times to stretch

        int index = 0;
        int counter = 0;
        for(int i = 0; i < this.length(); i++){
            while(counter++ < n){
                newList[index++] = this[i];*************************
        }
        return newList;****************
    }

}

```

There are two problem points, at which I starred the lines. I am supposed to return a listitem, but NewList is an array.
ANd I'm not sure what is wrong with the first starred line.

Any help/guidance would be appreciated.