private class arrayIterator implements Iterator{

  /**constructor**/
  public arrayIterator(){
    _locTable = 0;
    //System.out.println("loctable on creation:"+_locTable);
    table = tableArray;	   
  }

  /**This is nonoperational, probably due to a switch in the
   * underlying implementation**/
  public boolean hasNext(){
    System.out.println(table[_locTable]);
    while((table[_locTable]==null)&&(_locTable<(size()-1))){
      _locTable++;
      if (_locTable>(size()-1)){return false;}
    }
    System.out.println(_locTable);
    /**postcondition: have _locTable s.t. it is nonempty and within
     * valid range**/
    return true;
  }

  /**Just a noemal sort of next() method, calling hasNext() first**/
  public Object next(){
    if(hasNext()){return tableArray[_locTable];}
    return nullObj; }

  /**holds a reference to the hashtable**/
  private MHT_Entry[] table;
  /**again, reference to the hashtable load factor**/
  private final int LF = _LF;
  /**counter tracking index within hashtable**/
  private int _locTable; //private int _locList=0;
  /**this is to try to deal with what happens when you call put in the
   * midst of iterating**/
  private int currentPuts= _putCount;

}
