Program: 92042
Project: 92042
Buggy source:
/** 
 * Returns the value for the property of the given name. This convenience method is equivalent to invoking   {@link #getProperty(String)} for the given name,then to perform one of the following actions depending on the property type and the cardinality: <table class="sis"> <caption>Class of returned value</caption> <tr><th>Property type</th>                  <th>max. occurs</th> <th>Method invoked</th>                         <th>Return type</th></tr> <tr><td> {@link AttributeType}</td>          <td>0 or 1</td>      <td>  {@link Attribute#getValue()}</td>           <td>  {@link Object}</td></tr> <tr><td>  {@code AttributeType}</td>          <td>2 or more</td>   <td>  {@link Attribute#getValues()}</td>          <td>  {@code Collection<?>}</td></tr> <tr><td>  {@link FeatureAssociationRole}</td> <td>0 or 1</td>      <td>  {@link FeatureAssociation#getValue()}</td>  <td>  {@link Feature}</td></tr> <tr><td>  {@code FeatureAssociationRole}</td> <td>2 or more</td>   <td>  {@link FeatureAssociation#getValues()}</td> <td>  {@code Collection<Feature>}</td></tr> </table> <div class="note"><b>Note:</b> “max. occurs” is the   {@linkplain DefaultAttributeType#getMaximumOccurs() maximumnumber of occurrences} and does not depend on the actual number of values. If an attribute allows more than onevalue, then this method will always return a collection for that attribute even if the collection is empty.</div>
 * @param name The property name.
 * @return The value for the given property, or {@code null} if none.
 * @throws IllegalArgumentException If the given argument is not an attribute or association name of this feature.
 * @see AbstractAttribute#getValue()
 */
@Override public abstract Object getPropertyValue(final String name) throws IllegalArgumentException ;

Fixed version (ground truth):
/** 
 * Returns the value for the property of the given name. This convenience method is equivalent to invoking   {@link #getProperty(String)} for the given name,then to perform one of the following actions depending on the property type and the cardinality: <table class="sis"> <caption>Class of returned value</caption> <tr><th>Property type</th>                  <th>max. occurs</th> <th>Method invoked</th>                         <th>Return type</th></tr> <tr><td> {@link AttributeType}</td>          <td>0 or 1</td>      <td>  {@link Attribute#getValue()}</td>           <td>  {@link Object}</td></tr> <tr><td>  {@code AttributeType}</td>          <td>2 or more</td>   <td>  {@link Attribute#getValues()}</td>          <td>  {@code Collection<?>}</td></tr> <tr><td>  {@link FeatureAssociationRole}</td> <td>0 or 1</td>      <td>  {@link FeatureAssociation#getValue()}</td>  <td>  {@link Feature}</td></tr> <tr><td>  {@code FeatureAssociationRole}</td> <td>2 or more</td>   <td>  {@link FeatureAssociation#getValues()}</td> <td>  {@code Collection<Feature>}</td></tr> </table> <div class="note"><b>Note:</b> “max. occurs” is the   {@linkplain DefaultAttributeType#getMaximumOccurs() maximumnumber of occurrences} and does not depend on the actual number of values. If an attribute allows more than onevalue, then this method will always return a collection for that attribute even if the collection is empty.</div>
 * @param name The property name.
 * @return The value for the given property, or {@code null} if none.
 * @throws PropertyNotFoundException if the given argument is not an attribute or association name of this feature.
 * @see AbstractAttribute#getValue()
 */
@Override public abstract Object getPropertyValue(final String name) throws PropertyNotFoundException ;