docs: function(data) {
  				var item = forceSingleItem(data.items).Project;
  
  				var dialog = new DirectoryPrompterDialog.DirectoryPrompterDialog({ title : messages["Choose a Folder"],
  					serviceRegistry : serviceRegistry,
  					fileClient : fileClient,
  					func : function(targetFolder) {
  						fileClient.read(targetFolder.Location, true).then(function(fileMetadata){
  
  							function addFileDependency(){
  								var fileLocation = "";
  								var name = fileMetadata.Name;
  								if(fileMetadata.Parents && fileMetadata.Parents.length>0){
  									for(var i=fileMetadata.Parents.length-1; i>=0; i--){
  										fileLocation+=fileMetadata.Parents[i].Name;
  										fileLocation+= "/";
  									}
  									name += " (" + fileMetadata.Parents[fileMetadata.Parents.length-1].Name + ")";
  								}
  								fileLocation+=fileMetadata.Name;
  								var dependency = {Name: name, Type: "file", Location: fileLocation};
  								projectClient.addProjectDependency(item, {Name: name, Type: "file", Location: fileLocation}).then(function(){
  									if(sharedDependencyDispatcher){
  										sharedDependencyDispatcher.dispatchEvent({type: "create", newValue: dependency , project: item});
  									}
  								}, errorHandler);
  							}
  
  							if(!fileMetadata.Parents || fileMetadata.Parents.length===0){
  								var otherTypesDefs = [];
  								var isOtherDependency = false;
  								for(var i=0; i<dependencyTypes.length; i++){
  									if(isOtherDependency) {
  										return;
  									}
  									var def = projectClient.getProjectHandler(dependencyTypes[i]).then(function(projectHandler){
  										return projectHandler.getDependencyDescription(fileMetadata);
  									});
  									otherTypesDefs.push(def);
  									def.then(function(dependency){
  										if(dependency){
  											isOtherDependency = true;
  											projectClient.addProjectDependency(item, dependency).then(function(){
  												if(sharedDependencyDispatcher){
  													sharedDependencyDispatcher.dispatchEvent({type: "create", newValue: dependency, project: item});
  												}
  											}, errorHandler);
  										}
  									});
  								}
  								Deferred.all(otherTypesDefs).then(function(){
  									if(!isOtherDependency){
  										addFileDependency();
  									}
  								});
  								return;
  							}
  							addFileDependency();
  						}, errorHandler);
  					}
  				});
  
  				dialog.show();
  
  			}