// "Replace with lambda" "true"
public class MyNameConflict {

  {

    int x = 0;

    Comparable<E> c = x1 -> {
      switch (x1) {
        case EE:
          break;
      }
      return x1.hashCode();
    };
  }

  static enum E {
    EE;
  }

}
