 	}
 	
 	/**
-	:name:	first
-	:description:	Get the first node value in the tree, this is
-	the first node based on the order of keys where
-	k1 <= k2 <= K3 ... <= Kn
+		:name:	first
+		:description:	Get the first node value in the tree, this is
+		the first node based on the order of keys where
+		k1 <= k2 <= K3 ... <= Kn
 	*/
 	public var first: (key: Key, value: Value?)? {
 		return tree.first
 	}
 	
 	/**
-	:name:	last
-	:description:	Get the last node value in the tree, this is
-	the last node based on the order of keys where
-	k1 <= k2 <= K3 ... <= Kn
+		:name:	last
+		:description:	Get the last node value in the tree, this is
+		the last node based on the order of keys where
+		k1 <= k2 <= K3 ... <= Kn
 	*/
 	public var last: (key: Key, value: Value?)? {
 		return tree.last
 	}
 	
 	/**
-	:name:	isEmpty
-	:description:	A boolean of whether the RedBlackTree is empty.
+		:name:	isEmpty
+		:description:	A boolean of whether the RedBlackTree is empty.
 	*/
 	public var isEmpty: Bool {
 		return 0 == count
 	}
 	
 	/**
-	:name:	startIndex
-	:description:	Conforms to the CollectionType Protocol.
+		:name:	startIndex
+		:description:	Conforms to the CollectionType Protocol.
 	*/
 	public var startIndex: Int {
 		return 0
 	}
 	
 	/**
-	:name:	endIndex
-	:description:	Conforms to the CollectionType Protocol.
+		:name:	endIndex
+		:description:	Conforms to the CollectionType Protocol.
 	*/
 	public var endIndex: Int {
 		return count
 	}
 	
 	/**
-	:name:	init
-	:description:	Constructor.
+		:name:	init
+		:description:	Constructor.
 	*/
 	public override init() {
 		tree = Tree<Key, Value>()

	}
	
	/**
	:name:	subtree
	:description:	Traverses the Tree and looking for a key value.
	This is used for internal search.
	*/
	internal func subtree(key: Key, node: RedBlackNode<Key, Value>, inout dict: OrderedDictionary<Key, Value>) {
		if tree.sentinel !== node {

	internal typealias Generator = GeneratorOf<(key: Key, value: Value?)>
	
	/**
		:name:	tree
		:description:	Internal storage of members.
		:returns:	Tree<Key, Value>
	*/
	internal var tree: Tree<Key, Value>
	
	/**
		:name:	description
		:description:	Conforms to the Printable Protocol. Outputs the
		data in the OrderedDictionary in a readable format.
	*/
	public var description: String {
		var output: String = "OrderedDictionary("
