src/main/java/org/fest/assertions/ObjectArrayAssert.java
@Override
  public @NotNull ObjectArrayAssert onProperty(@NotNull String propertyName) {
    isNotNull();
    if (actual.length == 0) {
      return new ObjectArrayAssert(new Object[0]);
    }
    List<Object> values = PropertySupport.instance().propertyValues(propertyName, newArrayList(actual));
    return new ObjectArrayAssert(values.toArray());
  }
@Override
  public @NotNull ObjectArrayAssert onProperty(@NotNull String propertyName) {
    isNotNull();
    if (actual.length == 0) {
      return new ObjectArrayAssert(new Object[0]);
    }
    List<Object> values = PropertySupport.instance().propertyValues(propertyName, newArrayList(actual));
    return new ObjectArrayAssert(values.toArray());
  }
Creates a new instance of {@link ObjectArrayAssert} whose target array contains the values of the
given property name from the elements of this {@code ObjectArrayAssert}'s array. Property access works with both
simple properties like {@code Person.age} and nested properties {@code Person.father.age}.
<p/>
For example, let's say we have a array of {@code Person} objects and you want to verify their age:
<pre>
assertThat(persons).onProperty(&quot;age&quot;).containsOnly(25, 16, 44, 37); // simple property
assertThat(persons).onProperty("father.age").containsOnly(55, 46, 74, 62); // nested property

@param propertyName the name of the property to extract values from the actual array to build a new
{@code ObjectArrayAssert}.
@return a new {@code ObjectArrayAssert} containing the values of the given property name from the elements of this
{@code ObjectArrayAssert}'s array.
@throws AssertionError     if the actual array is {@code null}.
@throws IntrospectionError if an element in the given array does not have a matching property.
@since 1.3