anchor.diff:  }
   ----
   
  -This method is really not very efficient since it used the `head` method defined in the previous article. We will fix this in the next section.
  +This method is even less efficient since it uses the `head` method defined in the previous article. We will fix this in the next section.
   
   == Solving the real problem
   
  -Beside efficiency, we have a more important problem: our program does not solve our real problem, because it allows using several time the same item. It was done this way for simplification. Now, we can fix this easily:
  +Beside efficiency, we have a more important problem: our program does not solve our real problem, because it allows using several times the same item. It was done this way for simplification. Now, we can fix this easily:
   
   [source,java]
   ----
  
positive.code: }
  ----
  
  <1> We put the element in the knapsack only if it has not yet been used, which simply means that the knapsack does not already contains it.
  
  To make this possible, we must add the `contains` method to the `Knapsack` class:
  
  
negative.code:   ...
  ----
  
  (1) A random UUID is generated,
  
  (2) and it is used to test equality.
  
  == Representing the absence of data
  
  