@Override
    public int indexOf(Object o) {
        if (o == null) {
            for (int i = 0; i < list.size(); i++) {
                Object current = list.get(i);
                if (getInvoke(current) == null){
                    return i;
                }
            }
        } else {
            for (int i = 0; i < list.size(); i++) {
                Object current = list.get(i);
                if (o.equals(getInvoke(current))){
                    return i;
                }
            }
        }
        return -1;
    }