public synchronized int indexOf(Object o) {
        int index = 0;
        if (o == null) {
            for (Entry e = m_header.m_next; e != m_header; e = e.m_next) {
                if (e.m_element == null)
                    return index;
                index++;
            }
        } else {
            for (Entry e = m_header.m_next; e != m_header; e = e.m_next) {
                if (o.equals(e.m_element))
                    return index;
                index++;
            }
        }
        return -1;
    }