The remove method starts at line 100:
@Override
    public boolean remove(Object o) {
        if (o.getClass() != String.class) throw new UnsupportedOperationException();

//After using the remove method to remove the last added node from the tree, the size method should return N-1.
        if (listTree.indexOf(o) == listTree.size()-1) intNodes -= 1;
//After removing the second node added to the tree, the size method should
      //return N/2 + 1 (if N>2 and a power of two), where N is the size of the tree before removal.
// To be honest, this recommend recommendation is kind of vague. It's not really clear the the size method should return.
        if (listTree.indexOf(o) == 2) intNodes = intNodes / 2 + 1;

        listTree.remove(o);

        return true;
    }

    @Override
    public int size() {
        return intNodes;
    }