Your #removeDuplicates method is attempting to mutate the list object it belongs to (known by this, within this class), and as such should actually make those modifications to the list itself (rather than a copy). Note as well, that by iterating your newly-made list wordDuplicate, the for loop will not actually execute (since there are no values inside the list). I would personally keep track using a Set (namely, HashSet with a roughly O(1) lookup, aka nearly constant-time), while taking advantage of the Iterator#remove method:
public void removeDuplicates() {
    Set<T> seen = new HashSet<>();
    Iterator<T> itr = this.iterator(); //similar to the mechanics behind for-each
    while (itr.hasNext()) { //while another element can be found
        T next = itr.next(); //get the next element
        if (!seen.add(next)) { //#add returns "true" only if it was not in the Set previously
            itr.remove(); //if it was previously in the set, remove it from the List
        }
    }
}
Note as well, that the semantics you are describing nicely fit the definition of a Set, which is a collection of items that do not contain duplicates. There are varients of Set (i.e. LinkedHashSet) which also allow linear traversal of the elements, based on insertion-order.
For a simpler, non-iterator solution, you could also do a "dirty swap" of the elements after your calculation, which would be similar to what you attempted to achieve via this = list:
public void removeDuplicates() {
    Set<T> seen = new LinkedHashSet<>(); //to preserve iteration order
    for (T obj : this) { //for each object in our current list
        seen.add(obj); //will only add non-duplicates!
    }
    this.clear(); //wipe out our old list
    this.addAll(seen); //add back our non-duplicated elements
}
This can be quicker to write, but would be less performant than the in-place removal (since the entire list must be wiped and added to again). Lastly, if this is a homework problem, try to avoid copy-pasting code directly, and instead write it out yourself at the very least. Merely working towards a solution can help to solidify the information down the line.