private void CheckTailPieces(GameTime gameTime)
	{
		if (mDoubleTimer == -1)
		{
			mDoubleTimer = gameTime.GetRuntime() + timeToDouble - mHealingBonus;
		}
		
		if (gameTime.GetRuntime() > mDoubleTimer && mCurrentTailPieces < maxPieces)
		{
			AddTailPiece();
			
			mDoubleTimer = gameTime.GetRuntime() + timeToDouble - mHealingBonus;
			
			mHealingBonus += 500;
			
			if (mHealingBonus > timeToDouble - 500)
			{
				mHealingBonus = timeToDouble - 500;
			}
		}
		
		ChainEnemyTailPiece iterator = mFirstTailPiece;
		
		while (iterator != null)
		{
			if (!iterator.IsAlive())
			{
				if (iterator == mFirstTailPiece)
				{
					mFirstTailPiece.Destroy();
					Destroy();
				}
				else
				{
					iterator = mFirstTailPiece;
					
					for (int i = 0; i < mCurrentTailPieces - 1; i++)
					{
						iterator = iterator.GetNext();
					}
					
					iterator.SetNext(null);
					
					if (iterator != mFirstTailPiece)
					{
						iterator.SetColor(new GLColor(Color.YELLOW));
					}
					
					mCurrentTailPieces--;
				}
				
				mHealingBonus = 0;
				mDoubleTimer = gameTime.GetRuntime() + timeToDouble;
				break;
			}
			
			iterator = iterator.GetNext();
		}
	}