boolean contains( Fragment f )
    {
        for ( int i=0;i<rows.size();i++ )
        {
            Row r = rows.get(i);
            if ( r.cells.size()==1 )
            {
                FragList fl = r.cells.get( 0 );
                if ( fl.fragments.size()==1 )
                {
                    Atom a = fl.fragments.get(0);
                    if ( a instanceof Fragment )
                    {
                        Fragment g = (Fragment)a;
                        if ( f.versions.equals(g.versions) 
                            && f.contents.equals(g.contents) )
                            return true;
                    }
                }
            }
        }
        return false;
    }