public void edit(String keyString, PropertyInfo info, final PropertyEditCallback callback) {
this.callback = callback;
this.currKeyString = keyString;
// init status
this.expTxt.setText(info.asExpression(new FilePlaceHolder()));
List<String> paths = info.downloadPaths();
List<FileDownloadPath> fileItems = transform(paths, new Function<String, FileDownloadPath>(){
@Override
public FileDownloadPath apply(String input) {