Bug 1463266 - fix typos in mailnews/ using codespell. rs=comment-only,typo-fix

This commit is contained in:
Jorg K 2019-03-29 20:07:02 +01:00
Родитель 5e8cf5955f
Коммит 13cb694e1c
52 изменённых файлов: 58 добавлений и 58 удалений

Просмотреть файл

@ -14,7 +14,7 @@ interface nsISimpleEnumerator;
interface nsIAbBooleanExpression;
/**
* nsIAbManager is an interface to the main address book mananger
* nsIAbManager is an interface to the main address book manager
* via the contract id "@mozilla.org/abmanager;1"
*
* It contains the main functions to create and delete address books as well

Просмотреть файл

@ -173,7 +173,7 @@ interface nsIAddrDatabase : nsIAddrDBAnnouncer {
* instance of the database.
* @param aName The attribute to look up the value in.
* @param aUTF8Value The value to look up in UTF8 format.
* @param aCaseInsensitive Set to true for case-insenstive matching.
* @param aCaseInsensitive Set to true for case-insensitive matching.
* @result Returns an nsIAbCard if one is found, otherwise
* NULL.
*/
@ -188,7 +188,7 @@ interface nsIAddrDatabase : nsIAddrDBAnnouncer {
* instance of the database.
* @param aName The attribute to look up the value in.
* @param aUTF8Value The value to look up in UTF8 format.
* @param aCaseInsensitive Set to true for case-insenstive matching.
* @param aCaseInsensitive Set to true for case-insensitive matching.
* @result Returns an nsISimpleEnumerator of nsIAbCard
* instances.
*/

Просмотреть файл

@ -37,7 +37,7 @@ NS_IMPL_ISUPPORTS_INHERITED(nsAbLDAPCard, nsAbCardProperty, nsIAbLDAPCard)
* meta-properties (m_*) to reflect what the LDAP contents will be once
* the update has been performed. This allows you to do multiple (successful)
* consecutive edits on a card in a search result. If the meta-properties
* were not updated, incorrect assuptions would be made about what object
* were not updated, incorrect assumptions would be made about what object
* classes to add, or what attributes to clear.
*
* XXX: We need to take care when integrating this code with the asynchronous

Просмотреть файл

@ -64,7 +64,7 @@ function doHelpButton()
}
/**
* Get server type of the seleted item
* Get server type of the selected item
*/
function GetServerType()
{

Просмотреть файл

@ -147,7 +147,7 @@ function onSetDefault(event)
gAccount.defaultIdentity = identity;
// Rebuilt the identity list and select the moved identity again.
refreshIdentityList(0);
// Update gloda's myContact with the new default indentity.
// Update gloda's myContact with the new default identity.
Gloda._initMyIdentities();
}

Просмотреть файл

@ -144,7 +144,7 @@ function onOk()
// ask the account manager to create a new identity for us
gIdentity = MailServices.accounts.createIdentity();
// copy in the default identity settings so we inherit lots of stuff like the defaul drafts folder, etc.
// copy in the default identity settings so we inherit lots of stuff like the default drafts folder, etc.
gIdentity.copy(gAccount.defaultIdentity);
// assume the identity is valid by default?

Просмотреть файл

@ -38,7 +38,7 @@ interface nsIMsgCopyServiceListener : nsISupports {
* Getting the file message message ID. This method is tailored
* specifically for nsIMsgCopyService::CopyFileMessage() when saving
* Drafts/Templates. In order to work with imap server which doesn't
* support uidplus we have to use search comman to retrieve the key of
* support uidplus we have to use search command to retrieve the key of
* newly created message. Message ID generated by the compose guarantee its
* uniqueness.
* aMessageId -

Просмотреть файл

@ -96,7 +96,7 @@ interface nsMsgViewNotificationCode
const nsMsgViewNotificationCodeValue changed = 2;
/* Some lines have had their contents changed (e.g., messages have been marked read
or something.) "where" indicates the first line with a change; "num" indicates
how many chaged.
how many changed.
*/
const nsMsgViewNotificationCodeValue scramble = 3;
/* Everything changed. Probably means we resorted the folder. We are still working

Просмотреть файл

@ -118,7 +118,7 @@ interface nsIMsgFolder : nsISupports {
*
* Note that this does not persist the filter list. To change the contents
* of the existing filters, use getFilterList and mutate the values as
* appopriate.
* appropriate.
*
* @param aFilterList The new list of filters.
*/

Просмотреть файл

@ -210,7 +210,7 @@ interface nsIMsgIncomingServer : nsISupports {
*
* Note that this does not persist the filter list. To change the contents
* of the existing filters, use getFilterList and mutate the values as
* appopriate.
* appropriate.
*
* @param aFilterList The new list of filters.
*/

Просмотреть файл

@ -60,7 +60,7 @@ interface nsMsgMessageFlags
/**
* This message is queued for delivery. This only ever gets set on messages
* in the queue folder, but is used to protect against the case of othe
* in the queue folder, but is used to protect against the case of other
* messages having made their way in there somehow -- if some other program
* put a message in the queue, we don't want to later deliver it!
*/

Просмотреть файл

@ -314,7 +314,7 @@ interface nsIMsgCorpus : nsISupports
*
* @param aFromTraits array of trait ids used in aFile. If aFile contains
* trait ids that are not in this array, they are not
* remapped, but assummed to be local trait ids.
* remapped, but assumed to be local trait ids.
*
* @param aToTraits array of trait ids, corresponding to elements of
* aFromTraits, that represent the local trait ids to

Просмотреть файл

@ -760,7 +760,7 @@ nsresult nsMsgSearchTerm::MatchArbitraryHeader(nsIMsgSearchScopeTerm *scope,
nsCString dbHdrValue;
msg->GetStringProperty(m_arbitraryHeader.get(), getter_Copies(dbHdrValue));
if (!dbHdrValue.IsEmpty()) {
// Match value with the other info. It doesn't check all header occurences,
// Match value with the other info. It doesn't check all header occurrences,
// so we use it only if we match and do line by line headers parsing otherwise.
rv = MatchRfc2047String(dbHdrValue, charset, charsetOverride, pResult);
if (matchExpected == *pResult)
@ -785,7 +785,7 @@ nsresult nsMsgSearchTerm::MatchArbitraryHeader(nsIMsgSearchScopeTerm *scope,
{
nsCString charsetIgnored;
if (bodyHandler->GetNextLine(buf, charsetIgnored) < 0 || EMPTY_MESSAGE_LINE(buf))
processingHeaders = false; // No more lines or emtpy line teminating headers.
processingHeaders = false; // No more lines or empty line terminating headers.
bool isContinuationHeader = processingHeaders ?
NS_IsAsciiWhitespace(buf.CharAt(0)) : false;

Просмотреть файл

@ -1944,7 +1944,7 @@ nsMsgDBView::GetCellValue(int32_t aRow,
{
nsCString junkScoreStr;
msgHdr->GetStringProperty("junkscore", getter_Copies(junkScoreStr));
// Only need to assing a real value for junk, it's empty already
// Only need to assign a real value for junk, it's empty already
// as it should be for non-junk.
if (!junkScoreStr.IsEmpty() &&
(junkScoreStr.ToInteger(&rv) == nsIJunkMailPlugin::IS_SPAM_SCORE))

Просмотреть файл

@ -430,7 +430,7 @@ protected:
nsCOMPtr <nsIMsgDBHdr> m_cachedHdr;
nsMsgKey m_cachedMsgKey;
// We need to store the message key for the message we are currenty
// We need to store the message key for the message we are currently
// displaying to ensure we don't try to redisplay the same message just
// because the selection changed (i.e. after a sort).
nsMsgKey m_currentlyDisplayedMsgKey;

Просмотреть файл

@ -127,7 +127,7 @@ function test_toArray_NodeList() {
}
/**
* Test that toArray works correctly with the build-in generator construct.
* Test that toArray works correctly with the built-in generator construct.
*/
function test_toArray_builtin_generator() {
let arr = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20];

Просмотреть файл

@ -42,7 +42,7 @@ function assert_selection_ranges(...aArgs) {
for (let [slow, shigh] of sel._ranges) {
let [dlow, dhigh] = aArgs[i++];
if (dlow != slow || dhigh != shigh)
bad_ranges("Range mis-match on index " + i, aArgs);
bad_ranges("Range mismatch on index " + i, aArgs);
ourCount += shigh - slow + 1;
}

Просмотреть файл

@ -63,7 +63,7 @@ function run_test() {
// - check mbox with "From " line on chunk boundary
// - add tests for maildir->mbox conversion
// - check that conversions preserve message body (ie that the
// "From " line escaping scheme is reversable)
// "From " line escaping scheme is reversible)
});
run_next_test();

Просмотреть файл

@ -113,7 +113,7 @@ var Tests = [
op: Contains,
count: 0,
},
// test header with multiple occurences
// test header with multiple occurrences
{
testString: "one value",
testAttribute: OtherHeader,

Просмотреть файл

@ -18,7 +18,7 @@
*
* The conversion is non-destructive - srcRoot will be left untouched.
*
* The worker will post progess messages back to the main thread of
* The worker will post progress messages back to the main thread of
* the form:
*
* {"msg": "progress", "val": val, "total": total}

Просмотреть файл

@ -4097,7 +4097,7 @@ NS_IMETHODIMP nsMsgDBFolder::Rename(const nsAString& aNewName, nsIMsgWindow *msg
newFolder->SetPrettyName(aNewName);
newFolder->SetFlags(mFlags);
bool changed = false;
MatchOrChangeFilterDestination(newFolder, true /*caseInsenstive*/, &changed);
MatchOrChangeFilterDestination(newFolder, true /*case-insensitive*/, &changed);
if (changed)
AlertFilterChanged(msgWindow);

Просмотреть файл

@ -249,7 +249,7 @@ bool nsMsgI18Ncheck_data_in_charset_range(const char *charset, const char16_t* i
// All converted successfully.
break;
} else if (result != mozilla::kOutputFull) {
// Didn't use all the input but the outout isn't full, hence
// Didn't use all the input but the output isn't full, hence
// there was an unencodable character.
res = false;
break;

Просмотреть файл

@ -106,7 +106,7 @@ int ap_encode_init(appledouble_encode_object *p_ap_encode_obj,
memset(p_ap_encode_obj, 0, sizeof(appledouble_encode_object));
/*
** Fill out the source file inforamtion.
** Fill out the source file information.
*/
memcpy(p_ap_encode_obj->fname, path.get(), path.Length());
p_ap_encode_obj->fname[path.Length()] = '\0';

Просмотреть файл

@ -3158,7 +3158,7 @@ QuotingOutputStreamListener::InsertToCompose(nsIEditor *aEditor,
* Returns true if the domain is a match for the given the domain list.
* Subdomains are also considered to match.
* @param aDomain - the domain name to check
* @param aDomainList - a comman separated string of domain names
* @param aDomainList - a comma separated string of domain names
*/
bool IsInDomainList(const nsAString &aDomain, const nsAString &aDomainList)
{

Просмотреть файл

@ -1019,7 +1019,7 @@ nsresult nsSmtpProtocol::SendTLSResponse()
void nsSmtpProtocol::InitPrefAuthMethods(int32_t authMethodPrefValue)
{
// for m_prefAuthMethods, using the same flags as server capablities.
// for m_prefAuthMethods, using the same flags as server capabilities.
switch (authMethodPrefValue)
{
case nsMsgAuthMethod::none:
@ -1172,7 +1172,7 @@ nsresult nsSmtpProtocol::ProcessAuth()
return NS_ERROR_STARTTLS_FAILED_EHLO_STARTTLS;
}
}
// (wrong indention until here)
// (wrong indentation until here)
(void) ChooseAuthMethod(); // advance m_currentAuthMethod

Просмотреть файл

@ -163,7 +163,7 @@ function richCreateMessage(fields, attachments=[], identity=null,
try {
gDraftFolder = rootFolder.getChildNamed("Drafts");
} catch (e) {
// we don't have to remove the folder because it doen't exist yet
// we don't have to remove the folder because it doesn't exist yet
gDraftFolder = rootFolder.createLocalSubfolder("Drafts");
}
// Clear all messages

Просмотреть файл

@ -911,7 +911,7 @@ var GlodaDatastore = {
/**
* Corresponds to a human being and roughly to an address book entry.
* Constrast with an identity, which is a specific e-mail address, IRC
* Contrast with an identity, which is a specific e-mail address, IRC
* nick, etc. Identities belong to contacts, and this relationship is
* expressed on the identityAttributes table.
*/

Просмотреть файл

@ -498,7 +498,7 @@ var Gloda = {
* The contact is based on the default account's default identity. The user
* can change both, if desired, in Account Settings.
*
* @TODO attempt to deal with multile people using the same profile
* @TODO attempt to deal with multiple people using the same profile
*/
myContact: null,
/**

Просмотреть файл

@ -529,7 +529,7 @@ var GlodaMsgIndexer = {
* that the messages are indexed.
* The reason we allow for queueing messages in an event-driven fashion is
* that once we have reached a steady-state, it is preferable to be able to
* deal with new messages and modified meta-data in a prompt fasion rather
* deal with new messages and modified meta-data in a prompt fashion rather
* than having to (potentially) walk every folder in the system just to find
* the message that the user changed the tag on.
*/

Просмотреть файл

@ -83,7 +83,7 @@ IndexingJob.prototype = {
*
* Responsiveness
* - When the user wants to quit, we should be able to stop and quit in a timely
* fasion.
* fashion.
* - We should not interfere with the user's thunderbird usage.
*
* Correctness

Просмотреть файл

@ -409,7 +409,7 @@ var _indexMessageState = {
expectedCleanedUpCount: null,
/** Expected value of |_workerHadNoCleanUpCount| at assertion time */
expectedHadNoCleanUpCount: null,
/** Exepected value of |_numFullIndexed| at assertion time */
/** Expected value of |_numFullIndexed| at assertion time */
expectedNumFullIndexed: null,
/** The number of times a worker had a recover helper and it recovered. */

Просмотреть файл

@ -51,7 +51,7 @@ interface nsIDBChangeListener : nsISupports {
in nsIDBChangeListener aInstigator);
/**
* Callback when message parrent is changed. Parent is changed when message is deleted or moved.
* Callback when message parent is changed. Parent is changed when message is deleted or moved.
*
* @param aKeyChanged The message key that parent key was changed.
* @param oldParent Old parent key.

Просмотреть файл

@ -57,7 +57,7 @@ function test_references_header_parsing(aMsgHdr) {
dump("Setting references to: '" + refString + "'\n");
aMsgHdr.setReferences(refString);
if (aMsgHdr.numReferences != results.length) {
dump("Length mis-match! Was expecting:\n");
dump("Length mismatch! Was expecting:\n");
for (iResult = 0; iResult < results.length; iResult++) {
dump("'" + results[iResult] + "'\n");
}

Просмотреть файл

@ -260,7 +260,7 @@ public:
*
* @param aFromTraits array of trait ids used in aFile. If aFile contains
* trait ids that are not in this array, they are not
* remapped, but assummed to be local trait ids.
* remapped, but assumed to be local trait ids.
*
* @param aToTraits array of trait ids, corresponding to elements of
* aFromTraits, that represent the local trait ids to be

Просмотреть файл

@ -119,7 +119,7 @@ var FeedUtils = {
return FeedUtils.kInvalidItemPurgeDelayDays * this.MILLISECONDS_PER_DAY;
},
// Polling inverval to check individual feed update interval preference.
// Polling interval to check individual feed update interval preference.
kBiffPollMinutes: 1,
kNewsBlogSuccess: 0,
// Usually means there was an error trying to parse the feed.

Просмотреть файл

@ -722,7 +722,7 @@ bool nsIMAPBodypartLeaf::ShouldFetchInline(nsIMAPBodyShell *aShell)
}
#endif // XP_MACOSX
// Fetch type APPLICAION now if the subtype is a signature or if it's an
// Fetch type APPLICATION now if the subtype is a signature or if it's an
// octet-stream. Otherwise, fetch on demand.
if (!PL_strcasecmp(m_bodyType, "APPLICATION") &&
PL_strncasecmp(m_bodySubType, "x-pkcs7", 7) &&

Просмотреть файл

@ -446,7 +446,7 @@ nsImapIncomingServer::GetImapConnectionAndLoadUrl(nsIImapUrl* aImapUrl,
{
rv = aProtocol->LoadImapUrl(mailnewsurl, aConsumer);
// *** jt - in case of the time out situation or the connection gets
// terminated by some unforseen problems let's give it a second chance
// terminated by some unforeseen problems let's give it a second chance
// to run the url
if (NS_FAILED(rv) && rv != NS_ERROR_ILLEGAL_VALUE)
{

Просмотреть файл

@ -5793,7 +5793,7 @@ void nsImapProtocol::EscapeUserNamePasswordString(const char *strToEscape, nsCSt
void nsImapProtocol::InitPrefAuthMethods(int32_t authMethodPrefValue,
nsIMsgIncomingServer *aServer)
{
// for m_prefAuthMethods, using the same flags as server capablities.
// for m_prefAuthMethods, using the same flags as server capabilities.
switch (authMethodPrefValue)
{
case nsMsgAuthMethod::none:

Просмотреть файл

@ -262,7 +262,7 @@ void nsImapServerResponseParser::ParseIMAPServerResponse(const char *aCurrentCom
// Expected tag doesn't match the received tag. Not good, start over.
response_fatal();
}
// Show an alert notication containing the server response to bad IDLE.
// Show an alert notification containing the server response to bad IDLE.
fServerConnection.AlertUserEventFromServer(fCurrentLine, true);
}
else

Просмотреть файл

@ -534,7 +534,7 @@ NS_IMETHODIMP nsImapService::DisplayMessage(const char *aMessageURI,
nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv));
// Should the message fetch force a peek or a traditional fetch?
// Force peek if there is a delay in marking read (or no auto-marking at all).
// This is because a FETCH (BODY[]) will implicitly set tha \Seen flag on the msg,
// This is because a FETCH (BODY[]) will implicitly set the \Seen flag on the msg,
// but a FETCH (BODY.PEEK[]) won't.
bool forcePeek = false;
if (NS_SUCCEEDED(rv) && prefBranch)

Просмотреть файл

@ -138,7 +138,7 @@ async function displayMessage2() {
}
function hackMetadata() {
// The sad story is tha the fake server doesn't support body structure, so we
// The sad story is that the fake server doesn't support body structure, so we
// always load all messages entirely.
// Hack the meta data to pretend this isn't the case to force separate caching
// of the PDF attachment.

Просмотреть файл

@ -1,6 +1,6 @@
/**
* This test checks if the imap message service code streams headers correctly.
* It checks thst streaming headers for messages stored for offline use works.
* It checks that streaming headers for messages stored for offline use works.
* It doesn't test streaming messages that haven't been stored for offline use
* because that's not implemented yet, and it's unclear if anyone will want it.
*/

Просмотреть файл

@ -588,7 +588,7 @@ bool CMapiMessage::CheckBodyInCharsetRange(const char* charset)
// All converted successfully.
break;
} else if (result != mozilla::kOutputFull) {
// Didn't use all the input but the outout isn't full, hence
// Didn't use all the input but the output isn't full, hence
// there was an unencodable character.
return false;
}

Просмотреть файл

@ -168,7 +168,7 @@ NS_IMETHODIMP nsBasicUTF7Decoder::ConvertNoBuff(const char * aSrc,
while (src < srcEnd) {
// fist, attept to decode in the current mode
// first, attempt to decode in the current mode
bcr = srcEnd - src;
bcw = destEnd - dest;
if (mEncoding == ENC_DIRECT)

Просмотреть файл

@ -867,7 +867,7 @@ NS_IMETHODIMP nsMsgLocalMailFolder::Rename(const nsAString& aNewName, nsIMsgWind
newFolder->SetPrettyName(EmptyString());
newFolder->SetPrettyName(aNewName);
bool changed = false;
MatchOrChangeFilterDestination(newFolder, true /*caseInsenstive*/, &changed);
MatchOrChangeFilterDestination(newFolder, true /*case-insensitive*/, &changed);
if (changed)
AlertFilterChanged(msgWindow);
@ -927,7 +927,7 @@ NS_IMETHODIMP nsMsgLocalMailFolder::RenameSubFolders(nsIMsgWindow *msgWindow, ns
{
newFolder->SetPrettyName(folderName);
bool changed = false;
msgFolder->MatchOrChangeFilterDestination(newFolder, true /*caseInsenstive*/, &changed);
msgFolder->MatchOrChangeFilterDestination(newFolder, true /*case-insensitive*/, &changed);
if (changed)
msgFolder->AlertFilterChanged(msgWindow);
newFolder->RenameSubFolders(msgWindow, msgFolder);

Просмотреть файл

@ -1046,7 +1046,7 @@ nsresult nsParseMailMessageState::ParseHeaders ()
// we could very well care what the priority header was when we
// remember its value. If so, need to remember it here. Also,
// different priority headers can appear in the same message,
// but we only rememeber the last one that we see.
// but we only remember the last one that we see.
else if (!PL_strncasecmp("X-Priority", buf, end - buf)
|| !PL_strncasecmp("Priority", buf, end - buf))
header = &m_priority;

Просмотреть файл

@ -745,7 +745,7 @@ nsresult nsPop3Protocol::StartGetAsyncPassword(Pop3StatesEnum aNextState)
// We're now going to need to do something that will end up with us either
// poking the login manager or prompting the user. We need to ensure we only
// do one prompt at a time (and loging manager could cause a master password
// do one prompt at a time (and login manager could cause a master password
// prompt), so we need to use the async prompter.
nsCOMPtr<nsIMsgAsyncPrompter> asyncPrompter =
do_GetService(NS_MSGASYNCPROMPTER_CONTRACTID, &rv);
@ -1663,7 +1663,7 @@ int32_t nsPop3Protocol::SendTLSResponse()
void nsPop3Protocol::InitPrefAuthMethods(int32_t authMethodPrefValue)
{
// for m_prefAuthMethods, using the same flags as server capablities.
// for m_prefAuthMethods, using the same flags as server capabilities.
switch (authMethodPrefValue)
{
case nsMsgAuthMethod::none:

Просмотреть файл

@ -240,7 +240,7 @@ typedef struct _Pop3ConData {
// commands, etc. I do not intend it to refer to protocol state)
#define POP3_PAUSE_FOR_READ 0x00000001 /* should we pause for the next read */
#define POP3_PASSWORD_FAILED 0x00000002
#define POP3_STOPLOGIN 0x00000004 /* error loging in, so stop here */
#define POP3_STOPLOGIN 0x00000004 /* error logging in, so stop here */
#define POP3_AUTH_FAILURE 0x00000008 /* extended code said authentication failed */

Просмотреть файл

@ -341,7 +341,7 @@ nsPgpMimeProxy::Init()
{
mByteBuf.Truncate();
// Create add-on supplied decrytion object.
// Create add-on supplied decryption object.
nsresult rv;
mDecryptor = do_CreateInstance(PGPMIME_JS_DECRYPTOR_CONTRACTID, &rv);
if (NS_FAILED(rv))
@ -358,7 +358,7 @@ nsPgpMimeProxy::Write(const char *buf, uint32_t buf_size)
mByteBuf.Assign(buf, buf_size);
mStreamOffset = 0;
// Pass data to the decrytion object for decryption.
// Pass data to the decryption object for decryption.
// The result is returned via OutputDecryptedData().
if (mDecryptor)
return mDecryptor->OnDataAvailable((nsIRequest*) this, (nsIInputStream*) this,

Просмотреть файл

@ -201,7 +201,7 @@ MimeEncrypted_parse_eof (MimeObject *obj, bool abort_p)
/* Now run the superclass's parse_eof, which (because we've already taken
care of ibuffer in a way appropriate for this class, immediately above)
will ony set closed_p to true.
will only set closed_p to true.
*/
status = ((MimeObjectClass*)&MIME_SUPERCLASS)->parse_eof (obj, abort_p);
if (status < 0) return status;

Просмотреть файл

@ -490,7 +490,7 @@ MimeMultipart_create_child(MimeObject *obj)
status = body->clazz->parse_begin(body);
#ifdef XP_MACOSX
/* if we are saving an apple double attachment, we need to set correctly the conten type of the channel */
/* if we are saving an apple double attachment, we need to set correctly the content type of the channel */
if (mime_typep(obj, (MimeObjectClass *) &mimeMultipartAppleDoubleClass))
{
mime_stream_data *msd = (mime_stream_data *)body->options->stream_closure;

Просмотреть файл

@ -78,7 +78,7 @@ MimeUntypedText_finalize (MimeObject *object)
uty->open_hdrs = 0;
}
/* What about the open_subpart? We're gonna have to assume that it
/* What about the open_subpart? We're going to have to assume that it
is also on the MimeContainer->children list, and will get cleaned
up by that class. */