class ReplicatedIdGenerator implements IdGenerator {

    @Override
    public synchronized long nextId()
    {
        long id = getReusableId();
        if ( id != IdContainer.NO_RESULT )
        {
            return id;
        }

        long nextId = idQueue.nextId();
        if ( nextId == VALUE_REPRESENTING_NULL )
        {
            acquireNextIdBatch();
            nextId = idQueue.nextId();
        }
        highId = max( highId, nextId + 1 );
        return nextId;
    }

      ReplicatedIdGenerator( FileSystemAbstraction fs, File file, IdType idType, LongSupplier highId,
            ReplicatedIdRangeAcquirer acquirer, LogProvider logProvider, int grabSize, boolean aggressiveReuse );

}