class DeviceAndSnapshotComboBoxAction extends ComboBoxAction {

  @NotNull
  @VisibleForTesting
  static String getText(@NotNull Device device, @NotNull Collection<Device> devices, boolean snapshotsEnabled) {
    boolean anotherDeviceHasSameName = Devices.containsAnotherDeviceWithSameName(devices, device);
    return Devices.getText(device, anotherDeviceHasSameName ? device.getKey() : null, snapshotsEnabled ? device.getSnapshot() : null);
  }

  @SuppressWarnings("unused") private  DeviceAndSnapshotComboBoxAction();
  @VisibleForTesting public  DeviceAndSnapshotComboBoxAction(@NotNull Supplier<Boolean> selectDeviceSnapshotComboBoxSnapshotsEnabled,
                                         @NotNull Function<Project, AsyncDevicesGetter> devicesGetterGetter,
                                         @NotNull Function<Project, PropertiesComponent> getProperties,
                                         @NotNull Clock clock);

}