public synchronized ATermInt makeInt(int val)
public ATermInt makeInt(int val)
  public synchronized ATermInt makeInt(int val)  {    ATerm term;    int hnr = ATermIntImpl.hashFunction(val);    int idx = hnr % term_table_size;    HashedWeakRef prev, cur;    prev = null;    cur  = term_table[idx];    while (cur != null) {      term = (ATerm)cur.get();      if (term == null) {	// Found a reference to a garbage collected term, remove it to speed up lookups.	if (prev == null) {	  term_table[idx] = cur.next;	} else {	  prev.next = cur.next;	}      } else {	if (term.getType() == ATerm.INT) {	  if (((ATermInt)term).getInt() == val) {	    return (ATermInt)term;	  }	}      }      cur = cur.next;    }        // No integer term with 'val' found, so let's create one!    term = new ATermIntImpl(this, val);    cur = new HashedWeakRef(term, term_table[idx]);    term_table[idx] = cur;    return (ATermInt)term;  }