public static <T> Reader<T> elem(
		final String name,
		final Reader<? extends T> reader
	) {
		requireNonNull(name);
		requireNonNull(reader);

		return elem(
			v -> {
				@SuppressWarnings("unchecked")
				T value = v.length > 0 ? (T)v[0] : null;
				return value;
			},
			name,
			reader
		);
	}
Return a {@code Reader} which reads the value from the child elements of
the given parent element {@code name}.
<p>
<b>XML</b>
<pre> {@code
<min><property name="size">1234<property></min>}
</pre>

<b>Reader definition</b>
{@snippet lang="java":
final Reader<Property> reader =
    elem("min",
        elem(
            v -> {
                final String name = (String)v[0];
                final Integer value = (Integer)v[1];
                return Property.of(name, value);
            },
            "property",
            attr("name"),
            text().map(Integer::parseInt)
        )
    );
}

@param name the parent element name
@param reader the child elements reader
@param <T> the result type
@return a node reader
@throws NullPointerException if one of the given arguments is {@code null}
jenetics.xml/src/main/java/io/jenetics/xml/stream/Reader.java