TagRepository extends AbstractHtmlRepository implements Serializable { public static AbstractHtml findTagById(final String id, final AbstractHtml... fromTags) throws NullValueException { return findTagById(false, id, fromTags); } @Deprecated  TagRepository(final Object accessObject,
            final BrowserPage browserPage, final AbstractHtml... rootTags);  TagRepository(final Object accessObject,
            final BrowserPage browserPage,
            final Map<String, AbstractHtml> tagByWffId,
            final AbstractHtml... rootTags); static AbstractHtml findTagById(final String id,
            final AbstractHtml... fromTags); static AbstractHtml findTagById(final boolean parallel,
            final String id, final AbstractHtml... fromTags); AbstractHtml findTagById(final String id); AbstractHtml findTagById(final boolean parallel, final String id); static Collection<AbstractHtml> findTagsByAttribute(
            final String attributeName, final String attributeValue,
            final AbstractHtml... fromTags); static Collection<AbstractHtml> findTagsByAttribute(
            final boolean parallel, final String attributeName,
            final String attributeValue, final AbstractHtml... fromTags); static Collection<AbstractHtml> findTagsByTagName(
            final String tagName, final AbstractHtml... fromTags); static Collection<AbstractHtml> findTagsByTagName(
            final boolean parallel, final String tagName,
            final AbstractHtml... fromTags); static Collection<AbstractAttribute> findAttributesByTagName(
            final String tagName, final AbstractHtml... fromTags); static Collection<AbstractAttribute> findAttributesByAttributeFilter(
            final Predicate<? super AbstractAttribute> filter,
            final AbstractHtml... fromTags); static Collection<AbstractAttribute> findAttributesByAttributeFilter(
            final boolean parallel,
            final Predicate<? super AbstractAttribute> filter,
            final AbstractHtml... fromTags); static Collection<AbstractAttribute> findAttributesByTagName(
            final boolean parallel, final String tagName,
            final AbstractHtml... fromTags); static Collection<AbstractAttribute> findAttributesByTagFilter(
            final Predicate<? super AbstractHtml> filter,
            final AbstractHtml... fromTags); static Collection<AbstractAttribute> findAttributesByTagFilter(
            final boolean parallel,
            final Predicate<? super AbstractHtml> filter,
            final AbstractHtml... fromTags); static AbstractHtml findOneTagByAttribute(final String attributeName,
            final String attributeValue, final AbstractHtml... fromTags); static AbstractHtml findOneTagByAttribute(final boolean parallel,
            final String attributeName, final String attributeValue,
            final AbstractHtml... fromTags); static AbstractHtml findOneTagByTagName(final String tagName,
            final AbstractHtml... fromTags); static AbstractHtml findOneTagByTagName(final boolean parallel,
            final String tagName, final AbstractHtml... fromTags); static T findOneTagAssignableToTag(
            final Class<T> tagClass, final AbstractHtml... fromTags); @SuppressWarnings("unchecked") static T findOneTagAssignableToTag(
            final boolean parallel, final Class<T> tagClass,
            final AbstractHtml... fromTags); static Collection<T> findTagsAssignableToTag(
            final Class<T> tagClass, final AbstractHtml... fromTags); @SuppressWarnings("unchecked") static Collection<T> findTagsAssignableToTag(
            final boolean parallel, final Class<T> tagClass,
            final AbstractHtml... fromTags); static AbstractHtml findOneTagByAttributeName(
            final String attributeName, final AbstractHtml... fromTags); static AbstractHtml findOneTagByAttributeName(final boolean parallel,
            final String attributeName, final AbstractHtml... fromTags); static Collection<AbstractHtml> findTagsByAttributeName(
            final String attributeName, final AbstractHtml... fromTags); static Collection<AbstractHtml> findTagsByAttributeName(
            final boolean parallel, final String attributeName,
            final AbstractHtml... fromTags); Collection<AbstractHtml> findTagsByAttributeName(
            final String attributeName); Collection<AbstractHtml> findTagsByAttributeName(
            final boolean parallel, final String attributeName); Collection<AbstractHtml> findTagsByAttribute(
            final String attributeName, final String attributeValue); Collection<AbstractHtml> findTagsByAttribute(final boolean parallel,
            final String attributeName, final String attributeValue); Collection<AbstractHtml> findTagsByTagName(final String tagName); Collection<AbstractHtml> findTagsByTagName(final boolean parallel,
            final String tagName); Collection<AbstractHtml> findTagsByTagFilter(
            final Predicate<? super AbstractHtml> filter); Collection<AbstractHtml> findTagsByTagFilter(final boolean parallel,
            final Predicate<? super AbstractHtml> filter); static Collection<AbstractHtml> findTagsByTagFilter(
            final boolean parallel,
            final Predicate<? super AbstractHtml> filter,
            final AbstractHtml... fromTags); static Collection<AbstractHtml> findTagsByTagFilter(
            final Predicate<? super AbstractHtml> filter,
            final AbstractHtml... fromTags); Collection<AbstractAttribute> findAttributesByTagName(
            final String tagName); Collection<AbstractAttribute> findAttributesByTagName(
            final boolean parallel, final String tagName); Collection<AbstractAttribute> findAttributesByAttributeFilter(
            final Predicate<? super AbstractAttribute> filter); Collection<AbstractAttribute> findAttributesByAttributeFilter(
            final boolean parallel,
            final Predicate<? super AbstractAttribute> filter); AbstractHtml findOneTagByAttribute(final String attributeName,
            final String attributeValue); AbstractHtml findOneTagByAttribute(final boolean parallel,
            final String attributeName, final String attributeValue); AbstractHtml findOneTagByTagName(final String tagName); AbstractHtml findOneTagByTagName(final boolean parallel,
            final String tagName); T findOneTagAssignableToTag(
            final Class<T> tagClass); @SuppressWarnings("unchecked") T findOneTagAssignableToTag(
            final boolean parallel, final Class<T> tagClass); Collection<T> findTagsAssignableToTag(
            final Class<T> tagClass); @SuppressWarnings("unchecked") Collection<T> findTagsAssignableToTag(
            final boolean parallel, final Class<T> tagClass); AbstractHtml findOneTagByAttributeName(final String attributeName); AbstractHtml findOneTagByAttributeName(final boolean parallel,
            final String attributeName); Collection<AbstractHtml> findTagsByAttribute(
            final AbstractAttribute attribute); AbstractHtml findOneTagByAttribute(
            final AbstractAttribute attribute); void upsert(final AbstractHtml tag, final String key,
            final WffBMObject bmObject); void upsert(final AbstractHtml tag, final String key,
            final WffBMArray bmArray); void delete(final AbstractHtml tag, final String key); WffBMData getWffBMData(final AbstractHtml tag, final String key); Collection<AbstractHtml> findAllTags(); Collection<AbstractHtml> findAllTags(final boolean parallel); Stream<AbstractHtml> buildAllTagsStream(final boolean parallel); static Collection<AbstractHtml> findAllTags(
            final AbstractHtml... fromTags); static Collection<AbstractHtml> findAllTags(final boolean parallel,
            final AbstractHtml... fromTags); Collection<AbstractAttribute> findAllAttributes(); Collection<AbstractAttribute> findAllAttributes(
            final boolean parallel); Stream<AbstractAttribute> buildAllAttributesStream(
            final boolean parallel); static Collection<AbstractAttribute> findAllAttributes(
            final AbstractHtml... fromTags); static Collection<AbstractAttribute> findAllAttributes(
            final boolean parallel, final AbstractHtml... fromTags); boolean exists(final AbstractHtml tag); boolean exists(final AbstractAttribute attribute); boolean executeJs(final String js); void execute(final BrowserPageAction pageAction); Body findBodyTag(); Body findBodyTag(final boolean parallel); Head findHeadTag(); Head findHeadTag(final boolean parallel); TitleTag findTitleTag(); TitleTag findTitleTag(final boolean parallel); static Stream<AbstractHtml> buildAllTagsStream(
            final boolean parallel, final AbstractHtml... fromTags); static Stream<AbstractHtml> buildAllTagsStream(
            final AbstractHtml... fromTags); static Stream<AbstractAttribute> buildAllAttributesStream(
            final AbstractHtml... fromTags); static Stream<AbstractAttribute> buildAllAttributesStream(
            final boolean parallel, final AbstractHtml... fromTags); Stream<AbstractAttribute> buildAllAttributesStream();  }
@Test public void testFindTagById() { final Form form = new Form(null) { { new Input(this, new Name("name1")); new Div(this, new Name("excluded")){{new Input(this, new Name("name2"));}}; new Input(this, new Name("name3")); new Div(this){{new Input(this, new Name("name4"));}}; new Div(this){{new Input(this, new Id("id4"));}}; new Div(this){{new Input(this, new Name("name4"));}}; new TextArea(this, new Name("included")); } }; final Input input44 = new Input(null, new Id("id44")); final Form form2 = new Form(null) { { new Input(this, new Name("name1")); new Div(this, new Name("excluded")){{new Input(this, new Name("name2"));}}; new Input(this, new Name("name3")); new Div(this){{new Input(this, new Name("name4"));}}; new Div(this){{appendChild(input44);}}; new Div(this){{new Input(this, new Name("name4"));}}; new TextArea(this, new Name("included")); } }; AbstractHtml found = TagRepository.findTagById("id4", form); Assert.assertNotNull(found); Assert.assertEquals("id4", ((Id) found.getAttributeByName("id")).getValue()); AbstractHtml found2 = TagRepository.findTagById("id44", form2); Assert.assertNotNull(found2); Assert.assertEquals(input44, found2); Assert.assertEquals("id44", ((Id) found2.getAttributeByName("id")).getValue()); }