def Collect(self):
        AddedNewDynamicCollectors = False
        try:
            fname = FileCollector.convertPath(self.__FileName)
            
            if None != self.__LockFileName:
                lockName = self.__LockFileName
                if False == WaitForLock(lockName ):
                    Log.getLogger().error("Timeout getting exclusive lockfile: " + self.__LockFileName)
                    return "HelenKeller"

            elapsedTime = self.GetElapsedTimeSinceLast()
            with open(self.__FileName,"rt") as inpFile:
                data = inpFile.read()

            if None != self.__LockFileName:
                try :
                    os.remove(lockName)

                except Exception as ex:
                    return "0"

        except Exception as Ex:
            if not self.__LoadWarningSent:
                self.__LoadWarningSent = True
                Log.getLogger().warn("Problem loading DynamicCollector File: " + self.__FileName +". No additional warnings after this")
            return "HelenKeller"


        #Entire file is now in Data and file is closed.  So go parse it
        lines = data.split('\n') # might need os.linesp here....
        
        ts = Time.GetFileTimestampMS(fname)
        timeDelta =  ts - self.__PreviousTimestamp
        self.__PreviousTimestamp = ts
#        print("File Time Delta: "  + str(timeDelta) + " Elapsed Time: " + str(elapsedTime) + "Entries: " + str(len(lines)))

        #altTokens=['= ',': ',':',' ']
        try:
            for line in lines:
                for firstToken in self.__TokenList:
                    dataPoint = line.split(firstToken,1)
                    if len(dataPoint) > 1:
                        break

                if len(dataPoint) > 1: # filter out empties
                    ID = dataPoint[0]
                    Value = dataPoint[1]
                    ID = ID.strip()
                    Value = Value.strip()
                    ID = self.__PrefixStr + ID + self.__SuffixStr
                    objCollector = self._NamespaceObject.GetCollector(ID)

                    if None == objCollector:
                        objCollector = self.__createCollector(ID)
                        Log.getLogger().debug("Dynamic Collector found with token: '" + firstToken + "'")

                    objCollector.SetDynamicData(Value,elapsedTime)

        except Exception as ex:
            Log.getLogger().error("Something bad happened in DynamicCollector Collector(): " + str(ex))

        return "HelenKeller"
    def GetTimeMS(self):
        if None == self._SyncFile:
            return Time.GetCurrMS()

        return Time.GetFileTimestampMS(self._SyncFile)