src/main/java/io/github/glytching/junit/extension/system/SystemPropertyExtension.java
private List<SystemProperty> getSystemProperties(AnnotatedElement annotatedElement) {
    List<SystemProperty> systemProperties = new ArrayList<>();
    if (isAnnotated(annotatedElement, SystemProperties.class)) {
      // gather the repeating system property values
      systemProperties.addAll(
          Arrays.asList(annotatedElement.getAnnotation(SystemProperties.class).value()));
    }
    if (isAnnotated(annotatedElement, SystemProperty.class)) {
      // add the single system property value
      systemProperties.add(annotatedElement.getAnnotation(SystemProperty.class));
    }
    return systemProperties;
  }
private List<SystemProperty> getSystemProperties(AnnotatedElement annotatedElement) {
    List<SystemProperty> systemProperties = new ArrayList<>();
    if (isAnnotated(annotatedElement, SystemProperties.class)) {
      // gather the repeating system property values
      systemProperties.addAll(
          Arrays.asList(annotatedElement.getAnnotation(SystemProperties.class).value()));
    }
    if (isAnnotated(annotatedElement, SystemProperty.class)) {
      // add the single system property value
      systemProperties.add(annotatedElement.getAnnotation(SystemProperty.class));
    }
    return systemProperties;
  }
private List < SystemProperty > getSystemProperties ( AnnotatedElement annotatedElement ) { List < SystemProperty > systemProperties = new ArrayList <> ( ) ; if ( isAnnotated ( annotatedElement , SystemProperties . class ) ) { // gather the repeating system property values systemProperties . addAll ( Arrays . asList ( annotatedElement . getAnnotation ( SystemProperties . class ) . value ( ) ) ) ; } if ( isAnnotated ( annotatedElement , SystemProperty . class ) ) { // add the single system property value systemProperties . add ( annotatedElement . getAnnotation ( SystemProperty . class ) ) ; } return systemProperties ; }
Get a collection of {@link SystemProperty} for the given {@code annotatedElement}. If the given
{@code annotatedElement} has no such annotations then an empty list is returned, if the given
{@code annotatedElement} is annotated with {@link SystemProperty} then a list with one element
is returned, if the given {@code annotatedElement} is annotated with {@link SystemProperties}
then a list with one element for each of the repeated {@link SystemProperty} values is
returned.

<p>This is essentially a shortcut for logic such as: 'does this element have the {@link
SystemProperty} annotation, if not does it have the {@link SystemProperties}' followed by
gathering these annotation values.

@param annotatedElement either a test class or a test method which may be annotated with a
system property annotation
@return 0..* {@link SystemProperty} elements
Get a collection of { @link SystemProperty } for the given { @code annotatedElement } . If the given { @code annotatedElement } has no such annotations then an empty list is returned if the given { @code annotatedElement } is annotated with { @link SystemProperty } then a list with one element is returned if the given { @code annotatedElement } is annotated with { @link SystemProperties } then a list with one element for each of the repeated { @link SystemProperty } values is returned .