class DataSetLookupEditor implements IsWidget {

    public void init(DataSetLookupConstraints lookupConstraints,
                     final DataSetLookup dataSetLookup) {
        this.dataSetLookup = dataSetLookup;
        this.lookupConstraints = lookupConstraints;
        this.view.clearAll();
        this.clientServices.getPublicDataSetDefs(new RemoteCallback<List<DataSetDef>>() {
            public void callback(List<DataSetDef> dataSetDefs) {
                showDataSetDefs(dataSetDefs);
                if (dataSetLookup != null && dataSetLookup.getDataSetUUID() != null) {
                    fetchMetadata(dataSetLookup.getDataSetUUID(),
                                  new RemoteCallback<DataSetMetadata>() {
                                      public void callback(DataSetMetadata metadata) {
                                          updateDataSetLookup();
                                      }
                                  });
                }
            }
        });
    }

    @Inject public  DataSetLookupEditor(final View view,
                               SyncBeanManager beanManager,
                               DataSetFilterEditor filterEditor,
                               DataSetGroupDateEditor groupDateEditor,
                               DataSetClientServices clientServices,
                               Event<DataSetLookupChangedEvent> event);

}