docs: function(parentItem, artifactName, isDirectory) {
  
  			var domId = this.getRow(parentItem) ? this.getRow(parentItem).id : this.parentId;
  			var child = {
  				Name: artifactName,
  				Directory: isDirectory
  			};
  
  			return this.makeNewChildItemPlaceholder(parentItem, child, domId).then(function(placeholder) {
  				var nodeContainer = null;
  				var refNode, wrapperNode;
  				if (placeholder) {
  					nodeContainer = {};
  					refNode = placeholder.refNode;
  					wrapperNode = placeholder.wrapperNode;
  					refNode.classList.add("uploadNode"); //$NON-NLS-0$
  
  					nodeContainer.refNode = refNode;
  					nodeContainer.wrapperNode = wrapperNode;
  
  					var textSpan = document.createElement("span");
  					textSpan.classList.add("uploadNodeText");
  					textSpan.appendChild(document.createTextNode(artifactName));
  					refNode.appendChild(textSpan);
  
  					var progressBarWrapper = document.createElement("span");
  					progressBarWrapper.classList.add("progressBarWrapper"); //$NON-NLS-0$
  
  					var progressBar = document.createElement("span");
  					progressBar.classList.add("progressBar"); //$NON-NLS-0$
  					progressBarWrapper.appendChild(progressBar);
  					refNode.appendChild(progressBarWrapper);
  
  					nodeContainer.progressBar = progressBar;
  
  					if (isDirectory) {
  						progressBar.classList.add("continuous"); //$NON-NLS-0$
  						refNode.title = messages["Uploading "] + artifactName;
  						progressBar.title = refNode.title;
  					} else {
  						var cancelButton = document.createElement("button");
  						cancelButton.classList.add("imageSprite"); //$NON-NLS-0$
  						cancelButton.classList.add("core-sprite-delete"); //$NON-NLS-0$
  						cancelButton.classList.add("uploadCancelButton"); //$NON-NLS-0$
  						cancelButton.title = messages["Cancel upload"];
  						refNode.appendChild(cancelButton);
  
  						nodeContainer.cancelButton = cancelButton;
  					}
  
  					nodeContainer.destroyFunction = placeholder.destroyFunction;
  				}
  
  				return nodeContainer;
  			}.bind(this));
  		}