boolean isEqual = other instanceof CategoriesDirective; if( isEqual )
if( !super.equals( other ) )
    public boolean equals( Object other )    {        boolean isEqual = other instanceof CategoriesDirective;        if( isEqual )        {            isEqual = super.equals( other );        }        if( isEqual )        {            CategoriesDirective cat = (CategoriesDirective) other;            if( isEqual )            {                isEqual = m_categories.length == cat.m_categories.length;            }            if( isEqual )            {                for( int i=0; i<m_categories.length && isEqual; i++ )                {                    isEqual = m_categories[i].equals( cat.m_categories[i] );                }            }        }        return isEqual;    }