public static <T extends AbstractHtml> Collection<T> findTagsAssignableToTag(
            final Class<T> tagClass, final AbstractHtml... fromTags)
            throws NullValueException, InvalidTagException {
        return findTagsAssignableToTag(false, tagClass, fromTags);
    }
public static <T extends AbstractHtml> Collection<T> findTagsAssignableToTag(
            final Class<T> tagClass, final AbstractHtml... fromTags)
            throws NullValueException, InvalidTagException {
        return findTagsAssignableToTag(false, tagClass, fromTags);
    }
public static < T extends AbstractHtml > Collection < T > findTagsAssignableToTag ( final Class < T > tagClass , final AbstractHtml ... fromTags ) throws NullValueException , InvalidTagException { return findTagsAssignableToTag ( false , tagClass , fromTags ) ; }
Finds and returns the all matching (including from nested tags) tags
(which is assignable to the given tag class). <br>
<br>

<pre>
<code>
Html html = new Html(null) {{
new Head(this) {{
new TitleTag(this){{
new NoTag(this, "some title");
}};
}};
new Body(this, new Id("one")) {{
new Div(this);
new Div(this) {{
new Div(this) {{
new Div(this);
}};
}};
new Div(this);
}};
}};

Collection&lt;Head&gt; heads = TagRepository.findTagsAssignableToTag(Head.class, html);
Collection&lt;Div&gt; divs = TagRepository.findTagsAssignableToTag(Div.class, html);

System.out.println(heads.size());
System.out.println(divs.size());

//prints

1
5

</code>
</pre>

@param tagClass
the class of the tag.
@param fromTags
from which the findings to be done.
@return the all matching tags which is assignable to the given tag class.
@throws NullValueException
if the {@code tagClass} or
{@code fromTags} is null
@throws InvalidTagException
if the given tag class is NoTag.class
@since 2.1.11
@author WFF
Finds and returns the all matching ( including from nested tags ) tags ( which is assignable to the given tag class ) . <br > <br >