@Override
	public boolean set(T object)
	{
		if (object == null && !this.enableNull)
		{
			return false;
		}
		
		if (object == null ? this.obj != object : !object.equals(this.obj))
		{
			if (this.sync)
			{
				synchronized (this)
				{
					this.obj = object;
					
				}
				
			}
			else
			{
				this.obj = object;
				
			}
			
			this.setIsDirty(true);
			
			return true;
		}
		
		return false;
	}