 			handler = self._handlers[k]
 			thenHandler = self._handlers[k + 2]
 
+			continue if not handler
+
 			if thenHandler
 				chainHandler handler(value), thenHandler
 			else

	then: (onFulfilled, onRejected) ->
		self = @

		if @_state == $pending
			@_thenIndex++

		thenIndex = @_thenIndex

		addHandler self, thenIndex, onFulfilled, onRejected

		new Promise (resolve, reject) ->
			chainHandlers self, thenIndex, resolve, reject

	catch: (onRejected) ->


			genTrigger(self, $rejected)
		return

	addHandler = (self, offset, onFulfilled, onRejected) ->
		switch self._state
			when $pending
				self._handlers[offset] = onFulfilled
				self._handlers[offset + 1] = onRejected
				self._thenIndex++

			when $resolved
				self._handlers[offset] = onFulfilled self._value

			when $rejected
				self._handlers[offset + 1] = onRejected self._value
		return

	chainHandlers = (self, offset, resolve, reject) ->
		switch self._state
			when $pending
				self._handlers[offset + 2] = resolve
				self._handlers[offset + 3] = reject

			when $resolved
				chainHandler self._handlers[offset], 0, resolve

			when $rejected
				chainHandler self._handlers[offset + 1], 0, reject

		return

