static String toString(final String name, final Property property) {
		return "%s[path=%s, value=%s, mutable=%s, type=%s, enclosure=%s]".formatted(
			name,
			property.path(),
			property.value(),
			property.writer().isPresent(),
			property.type().getName(),
			property.enclosure().getClass().getName()
		);
	}
Return a {@code Stream} that is lazily populated with {@code Property}
by walking the object tree rooted at a given starting object.

{@snippet class="PropertySnippets" region="walk(Object)"}

The code snippet above will create the following output
<pre>{@code
SimpleProperty[path=title, value=Crossroads, mutable=false, type=java.lang.String, enclosure=Book]
SimpleProperty[path=pages, value=832, mutable=false, type=int, enclosure=Book]
ListProperty[path=authors, value=[Author[Jonathan Franzen]], mutable=false, type=java.util.List, enclosure=Book]
IndexProperty[path=authors[0], value=Author[Jonathan Franzen], mutable=true, type=Author, enclosure=java.util.ImmutableCollections$List12]
SimpleProperty[path=authors[0].forename, value=Jonathan, mutable=false, type=java.lang.String, enclosure=Author]
SimpleProperty[path=authors[0].surname, value=Franzen, mutable=false, type=java.lang.String, enclosure=Author]
SimpleProperty[path=authors[0].birthDate, value=1959-08-17, mutable=false, type=java.time.LocalDate, enclosure=Author]
ListProperty[path=authors[0].books, value=[], mutable=false, type=java.util.List, enclosure=Author]
}</pre>

@see #walk(PathValue, String...)

@param root the root of the object tree
@param includes the included object name (glob) patterns
@return a property stream
jenetics.incubator/src/main/java/io/jenetics/incubator/beans/property/Properties.java