anchor.diff:  			       R#piece.id =:= Id,
   			       R#piece.piece_number =:= S,
   			       R#piece.state =:= not_fetched]),
  -	      Eligible = qlc:e(Q1),
  +	      Eligible = qlc:e(Q1, {max_list_size, 1}),
   	      case Eligible of
   		  [] ->
   		      none_eligible;
  -		  [P | _] ->
  +		  [P] ->
   		      ensure_chunking(Id, P),
   		      ok
   	      end
  
positive.code: 		  [] ->
  		      none_eligible;
  		  [PieceNum | _] ->
  		      case select_chunks_by_piecenum(Handle, PieceNum,
  						     N, Pid) of
  			  {ok, Ans} ->
  			      {ok, Ans, PieceNum, 0};
  			  {partial, Chunks, Remaining, PieceNum} ->
  			      {ok, Chunks, Remaining, PieceNum}
  		      end
  	      end
        end).
  
  
negative.code: 	[] ->
  	    %% Nothing left, we may not have got everything
  	    mnesia:delete_object(R),
  	    Remaining = Num - length(Return),
  	    {ok, Return, Remaining};
  	[_|_] ->
  	    %% More left, we got everything we wanted to get
  	    mnesia:write(R#chunk {chunks = Rest}),
  	    {ok, Return, 0}
      end.
  
  %%--------------------------------------------------------------------
  