public final synchronized long nextId(Object obj)
	{
		if (tc.isEntryEnabled()) Tr.entry(tc, "nextId", obj);
		
		long id = _idCount++;

		// Keep incrementing the id until we
		// find one that hasn't been reserved.
		while (_idMap.get(id) != null)
		{
			id = _idCount++;
		}

		// Add the new id to the map associating
		// it with the given object.
		_idMap.put(id, obj);

		if (tc.isEntryEnabled()) Tr.exit(tc, "nextId", new Long(id));

		return id;
	}
public final synchronized long nextId ( Object obj ) { if ( tc . isEntryEnabled ( ) ) Tr . entry ( tc , "nextId" , obj ) ; long id = _idCount ++ ; while ( _idMap . get ( id ) != null ) { id = _idCount ++ ; } _idMap . put ( id , obj ) ; if ( tc . isEntryEnabled ( ) ) Tr . exit ( tc , "nextId" , new Long ( id ) ) ; return id ; }
Returns the next available id, starting from 1, and associates
it with the given object. This method should be used during
the creation of a new recoverable object.

@param obj The object to be associated with the id

@return The next available recoverable unit id