public static final void addCandidate(Object item) throws VM_PragmaNoInline {
public static final void addCandidate(Object item) throws VM_PragmaNoInline, VM_PragmaInterruptible  {
  public static final void addCandidate(Object item) throws VM_PragmaNoInline {    lock.acquire();    if (TRACE_DETAIL) VM_Scheduler.trace(" VM_Finalizer: ", " addElement called, count = ", candidateEnd);    if (candidateEnd >= candidate.length) {      int[] newCandidate = new int[(int) (growthFactor * candidate.length)];      for (int i=0; i<candidate.length; i++)	newCandidate[i] = candidate[i];      candidate = newCandidate;    }    candidate[candidateEnd++] = VM_Magic.objectAsAddress(item).toInt();    lock.release();  }