def close!
	    unless @edges.empty?
		# NOTE: parallel? is use here instead of collinear? because the
		#	edges are connected, and will therefore be collinear if
		#	they're parallel

		if closed?
		    if @edges.first.parallel?(@edges.last)
			unshift_edge Edge.new(@edges.last.first, shift_edge.last)
		    end
		elsif
		    closing_edge = Edge.new(@edges.last.last, @edges.first.first)

		    # If the closing edge is collinear with the last edge, then
		    #  simply extened the last edge to fill the gap
		    if @edges.last.parallel?(closing_edge)
			closing_edge = Edge.new(pop_edge.first, @edges.first.first)
		    end

		    # Check that the new closing_edge isn't zero-length
		    if closing_edge.first != closing_edge.last
			# If the closing edge is collinear with the first edge, then
			#  extend the first edge "backwards" to fill the gap
			if @edges.first.parallel?(closing_edge)
			    unshift_edge Edge.new(closing_edge.first, shift_edge.last)
			else
			    push_edge closing_edge
			end
		    end
		end
	    end
	    self
	end
def close!
	    unless @edges.empty?
		# NOTE: parallel? is use here instead of collinear? because the
		#	edges are connected, and will therefore be collinear if
		#	they're parallel

		if closed?
		    if @edges.first.parallel?(@edges.last)
			unshift_edge Edge.new(@edges.last.first, shift_edge.last)
		    end
		elsif
		    closing_edge = Edge.new(@edges.last.last, @edges.first.first)

		    # If the closing edge is collinear with the last edge, then
		    #  simply extened the last edge to fill the gap
		    if @edges.last.parallel?(closing_edge)
			closing_edge = Edge.new(pop_edge.first, @edges.first.first)
		    end

		    # Check that the new closing_edge isn't zero-length
		    if closing_edge.first != closing_edge.last
			# If the closing edge is collinear with the first edge, then
			#  extend the first edge "backwards" to fill the gap
			if @edges.first.parallel?(closing_edge)
			    unshift_edge Edge.new(closing_edge.first, shift_edge.last)
			else
			    push_edge closing_edge
			end
		    end
		end
	    end
	    self
	end
Close the receiver and return it
 @return [Polyline]	the receiver after closing