code: public function render($parts = self::ALL)
  	{
  		// Make sure the query is created
  		$query = $this->getQuery();
  
  		$uri = '';
  		$uri .= $parts & static::SCHEME ? (!empty($this->scheme) ? $this->scheme . '://' : '') : '';
  		$uri .= $parts & static::USER ? $this->user : '';
  		$uri .= $parts & static::PASS ? (!empty($this->pass) ? ':' : '') . $this->pass . (!empty($this->user) ? '@' : '') : '';
  		$uri .= $parts & static::HOST ? $this->host : '';
  		$uri .= $parts & static::PORT ? (!empty($this->port) ? ':' : '') . $this->port : '';
  		$uri .= $parts & static::PATH ? $this->path : '';
  		$uri .= $parts & static::QUERY ? (!empty($query) ? '?' . $query : '') : '';
  		$uri .= $parts & static::FRAGMENT ? (!empty($this->fragment) ? '#' . $this->fragment : '') : '';
  
  		return $uri;
  	}
docs: Returns full uri string.
  
  @param   integer  $parts  A bitmask specifying the parts to render.
  
  @return  string  The rendered URI string.
  
  @since   1.2.0