docs: public Object remove(Object key)
  	{
  		synchronized(this)
  		{
  			if (size > 0) // check current size before trying remove
  			{
  				Object obj =  super.remove(key);
  				size = super.size();
  				return obj;
  			}
  			return null;
  		}
  	}