docs: function _buildFromEncodedParts(opt_scheme, opt_userInfo, opt_domain, opt_port, opt_path, opt_queryData, opt_fragment) {
  	      var out = [];
  	      if (isPresent(opt_scheme)) {
  	          out.push(opt_scheme + ':');
  	      }
  	      if (isPresent(opt_domain)) {
  	          out.push('//');
  	          if (isPresent(opt_userInfo)) {
  	              out.push(opt_userInfo + '@');
  	          }
  	          out.push(opt_domain);
  	          if (isPresent(opt_port)) {
  	              out.push(':' + opt_port);
  	          }
  	      }
  	      if (isPresent(opt_path)) {
  	          out.push(opt_path);
  	      }
  	      if (isPresent(opt_queryData)) {
  	          out.push('?' + opt_queryData);
  	      }
  	      if (isPresent(opt_fragment)) {
  	          out.push('#' + opt_fragment);
  	      }
  	      return out.join('');
  	  }