import java.util.Optional;

public class CompilerBug {
    
    static class Wrapper<T> {
        T value;
        public T getValue() {
            return null;
        }
    }
    
    public static Optional<? extends Wrapper<String>[]> optionalArrayOfStringWrappers() {
     return Optional.empty();
    }
    
    public static <T> Optional<T> findEnglishAttribute(Wrapper<T>[] attributes) {
        return Optional.empty();
    }
    
    public static void main(String[] args) {
        for (Wrapper<String> attribute: optionalArrayOfStringWrappers().get()) {
            // Expect compiler error on for loop: Can only iterate over an array or an instance of java.lang.Iterable
        }
    }
} 
