internal virtual void Add(AnyObjectId objectId)
 {
     UnpackedObjectCache.Table t = table;
     if (t.Add(objectId))
     {
     }
     else
     {
         // The object either already exists in the table, or was
         // successfully added. Either way leave the table alone.
         //
         // The object won't fit into the table. Implement a crude
         // cache removal by just dropping the table away, but double
         // it in size for the next incarnation.
         //
         UnpackedObjectCache.Table n = new UnpackedObjectCache.Table(Math.Min(t.bits + 1,
                                                                              MAX_BITS));
         n.Add(objectId);
         table = n;
     }
 }
 public UnpackedObjectCache()
 {
     // size = 32
     // size = 2048
     table = new UnpackedObjectCache.Table(INITIAL_BITS);
 }
 internal virtual void Clear()
 {
     table = new UnpackedObjectCache.Table(INITIAL_BITS);
 }
		internal virtual void Add(AnyObjectId objectId)
		{
			UnpackedObjectCache.Table t = table;
			if (t.Add(objectId))
			{
			}
			else
			{
				// The object either already exists in the table, or was
				// successfully added. Either way leave the table alone.
				//
				// The object won't fit into the table. Implement a crude
				// cache removal by just dropping the table away, but double
				// it in size for the next incarnation.
				//
				UnpackedObjectCache.Table n = new UnpackedObjectCache.Table(Math.Min(t.bits + 1, 
					MAX_BITS));
				n.Add(objectId);
				table = n;
			}
		}
		public UnpackedObjectCache()
		{
			// size = 32
			// size = 2048
			table = new UnpackedObjectCache.Table(INITIAL_BITS);
		}
		internal virtual void Clear()
		{
			table = new UnpackedObjectCache.Table(INITIAL_BITS);
		}