'Called when a sentence is received.
Will clean the received NMEAProtocol sentence up, and then update the
adapter\'s state, followed by firing the callbacks.
If the received sentence was invalid, the state will be cleared.
@param sentence: The sentence that is received.
@type sentence: L{NMEASentence}'

def sentenceReceived(self, sentence):

    self.currentSentence = sentence
    self._sentenceData = {}
    try:
        self._validateCurrentSentence()
        self._cleanCurrentSentence()
    except base.InvalidSentence:
        self.clear()
    self._updateState()
    self._fireSentenceCallbacks()
