Assume that we have written a class definition called Thing, which has the default zero-arg constructor. Then consider the following Java program that contains a further two class definitions in separate files:
public class One
{
   public One(Thing aThing)
   {  thing = aThing;
   }

   public void setThing(Thing aThing)
   {  thing = aThing;
   }

   private Thing thing;
}

public class Two
{
   public static void main(String[] args)
   {  Thing o1 = new Thing();    // 1
      One o2 = null;             // 2
      if (2 < 3)                 // 3
      {  o2 = new One(o1);       // 4
         o2.setThing(null);      // 5
      }                          // 6
      o2 = null;                 // 7
    }                            // 8
}                                // 9
Which of the following are true?

(a) The Thing object is first eligible for deletion immediately after line 5.
(b) The Thing object is first eligible for deletion immediately after line 6.
(c) The Thing object is first eligible for deletion immediately after line 7.
(d) The Thing object is first eligible for deletion immediately after line 8.

Select the most appropriate answer.