ChunkStateSet next( Pair p, ChunkState state, short v )
	{
		ChunkStateSet repl = this;
		if ( !p.contains(v) )
		{
			if ( !containsState(state) )
			{
				repl = new ChunkStateSet( backup );
				repl.add( state );
			}
		}
		// contains version v
		else if ( backup != Version.NO_BACKUP )
		{
			if ( !isBackup() )
			{
				repl = new ChunkStateSet( backup );
				repl.add( ChunkState.backup );
			}
		}
		else if ( !isMerged() )
		{
			repl = new ChunkStateSet( backup );
			repl.add( ChunkState.merged );
		}
		return repl;
	}