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;
  }
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