package inference.guava;

import java.util.LinkedHashMap;
import java.util.Map;

@SuppressWarnings("all") // Just check for crashes.
public class Bug1<B> {
  public void method1(Map<? extends Class<? extends B>, ? extends B> map) {
    Map<Class<? extends B>, B> copy = new LinkedHashMap<>(map);
    for (Map.Entry<? extends Class<? extends B>, B> entry : copy.entrySet()) {
      cast(entry.getKey(), entry.getValue());
    }
  }

  private static <X, T extends X> T cast(Class<T> type, X value) {
    throw new RuntimeException();
  }
}
