docs: function(tweet,streamChannels){
      tweet.$channels = {};
      tweet.$keywords = [];
      var i,j,k;
      var lowerCasedSearch = [];
      var keywordsFound = [], tmpKeywords;
      
      //prepare the lowerCased strings to full text search in the tweet object
      var tweetText = tweet.truncated ? tweet.extended_tweet.full_text : tweet.text;
      lowerCasedSearch.push(tweetText.toLowerCase());
      if(tweet.user && tweet.user.screen_name){
        lowerCasedSearch.push(tweet.user.screen_name.toLowerCase());
      }
      if(tweet.entities && tweet.entities.urls && tweet.entities.urls.length > 0){
        for(i=0; i<tweet.entities.urls.length; i++){
          if(tweet.entities.urls[i].display_url){
            lowerCasedSearch.push(tweet.entities.urls[i].display_url.toLowerCase());
          }
          if(tweet.entities.urls[i].expanded_url){
            lowerCasedSearch.push(tweet.entities.urls[i].expanded_url.toLowerCase());
          }
        }
      }
      
      //find the keywords
      for(var channel in streamChannels.channelsKeywordsLowerCasedRegExp){
        keywordsFound = [];
        for(j=0; j<lowerCasedSearch.length; j++){
          tmpKeywords = lowerCasedSearch[j].match(streamChannels.channelsKeywordsLowerCasedRegExp[channel]);
          if(tmpKeywords !== null){
            keywordsFound = keywordsFound.concat(tmpKeywords);
          }
        }
        if(keywordsFound.length > 0){
          tweet.$channels[channel] = [];
          for(k=0; k<keywordsFound.length; k++){
            if(tweet.$channels[channel].indexOf(keywordsFound[k]) === -1){
              tweet.$channels[channel].push(keywordsFound[k]);
            }
            if(tweet.$keywords.indexOf(keywordsFound[k]) === -1){
              tweet.$keywords.push(keywordsFound[k]);
            }
          }
        }
      }
      return streamChannels;
    }