public void setDevice(DeviceDesc desc) {
    this.device = desc;
    service.getMediaSources(
        new AsyncCallback<Set<String>>() {
          public void onFailure(Throwable caught) {
            // Show the RPC error message to the user
            System.out.println("FAILURE!!!");
          }

          public void onSuccess(Set<String> result) {
            System.out.println("RESPONSE=" + result);
            Iterator<String> it = result.iterator();
            while (it.hasNext()) {
              source.addItem(it.next());
            }
            DomEvent.fireNativeEvent(Document.get().createChangeEvent(), source);
          }
        });
  }