code: def order_by(self, key):
          
          if key is None:
              raise NullArgumentError(u"No key for sorting given")
          kf = [OrderingDirection(key, reverse=False)]
          return SortedEnumerable3(kf, self._data)
docs: Returns new Enumerable sorted in ascending order by given key
          :param key: key to sort by as lambda expression
          :return: new Enumerable object