1. A method of identifying type-ahead candidates, comprising the steps of: analyzing past non-threaded emails or documents for words or phrases, wherein the emails or documents are in files and folders associated with an application; generating a database of the words or phrases and corresponding addressee information within the past non-threaded emails or documents having matching subject matter; receiving in a current email or document of the application one or more characters to provide a basis to determine a match; analyzing the current email or document for current words or phrases; determining matches between the current words or phrases within the current email or document and one or more words or phrases in the database; identifying, based on the determined matches, one or more of the corresponding addressee information of the past non-threaded emails or documents; matching the identified corresponding addressee information with the one or more received characters to identify one or more candidate words; presenting the one or more candidate words to a user on a personal computer as type-ahead choices; providing the one or more candidate words based on the results of the matching step; and presenting and including a selected one of the one or more candidate words in the current email or document, wherein the analyzing the past non-threaded emails or documents comprises: creating the database, which is a running log of messages sent, a record of to whom the messages were sent, messages received, and a record of from whom the messages were received, the database comprising a correlation table comprising: corresponding addressee information for the messages sent and the messages received that are considered matching in subject matter; and one or more uncommon words that appear within the messages sent and the messages received; and wherein the method further comprises: assigning a first weight to the one or more candidate words based on the match with the corresponding addressee information, assigning a second weight to the one or more candidate words based on a frequency match, assigning a third weight to the one or more candidate words based on a time based time proximity match, assigning a fourth weight to the one or more candidate words based on inclusive references, and assigning a fifth weight to the one or more candidate words based on associative matches; creating a preferences profile that defines: (i) preferred contacts or names, (ii) preferred words, and (iii) preferred phrases for use in prioritizing the one or more candidate words; and assigning a sixth weight to the one or more candidate words based on the preferences profile, and wherein analyzing the current email or document comprises: analyzing the past non-threaded emails or documents for context by identifying matching keywords or phrases between the past non-threaded emails or documents and the current email or document; associating the corresponding addressee information for the matched past non-threaded emails or documents with the identified matching keywords or phrases; and creating a context index of the corresponding addressee information for use by the matching step, wherein: the corresponding addressee information are contacts listed as senders or receivers of the matched past non-threaded emails or documents; and the presenting step includes presenting the one or more candidate words based at least in part on the assigned weights.