<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_time_data(self, timeStart=None, timeEnd=None):
 """ Gets the time and voltage data. Parameters timeStart : float, optional The time get data from. By default it uses the first time point timeEnd : float, optional The time to finish getting data from. By default it uses the last time point Returns ------- time : ndarray array containing the value of time (in seconds) at which the voltage is sampled voltage : ndarray array containing the sampled voltages """

        if timeStart == None:
            timeStart = self.timeStart
            
        if timeEnd == None:
            timeEnd = self.timeEnd

        time = self.time.get_array()
            
        StartIndex = _np.where(time == take_closest(time, timeStart))[0][0]
        EndIndex = _np.where(time == take_closest(time, timeEnd))[0][0]

        if EndIndex == len(time) - 1:
            EndIndex = EndIndex + 1 # so that it does not remove the last element

        return time[StartIndex:EndIndex], self.voltage[StartIndex:EndIndex]