<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def yearSplit(self, startYear, endYear, dropMissingYears = True):
 """Creates a RecordCollection of Records from the years between _startYear_ and _endYear_ inclusive. # Parameters _startYear_ : `int` > The smallest year to be included in the returned RecordCollection _endYear_ : `int` > The largest year to be included in the returned RecordCollection _dropMissingYears_ : `optional [bool]` > Default `True`, if `True` Records with missing years will be dropped. If `False` a `TypeError` exception will be raised # Returns `RecordCollection` > A RecordCollection of Records from _startYear_ to _endYear_ """

        recordsInRange = set()
        for R in self:
            try:
                if R.get('year') >= startYear and R.get('year') <= endYear:
                    recordsInRange.add(R)
            except TypeError:
                if dropMissingYears:
                    pass
                else:
                    raise
        RCret = RecordCollection(recordsInRange, name = "{}({}-{})".format(self.name, startYear, endYear), quietStart = True)
        RCret._collectedTypes = self._collectedTypes.copy()
        return RCret