code: public void addCoords(Point3d[] iAtoms, BoundingBox icoordbounds, Point3d[] jAtoms, BoundingBox jcoordbounds) {
  		this.iAtoms = iAtoms;
  		this.iAtomObjects = null;
  
  		if (icoordbounds!=null) {
  			this.ibounds = icoordbounds;
  		} else {
  			this.ibounds = new BoundingBox(this.iAtoms);
  		}
  
  		this.jAtoms = jAtoms;
  		this.jAtomObjects = null;
  
  		if (jAtoms==iAtoms) {
  			this.jbounds=ibounds;
  		} else {
  			if (jcoordbounds!=null) {
  				this.jbounds = jcoordbounds;
  			} else {
  				this.jbounds = new BoundingBox(this.jAtoms);
  
  			}
  		}
  
  		fillGrid();
  	}
docs: Adds the i and j coordinates and fills the grid, passing their bounds (array of size 6 with x,y,z minima and x,y,z maxima)
  This way the bounds don't need to be recomputed.
  Subsequent call to {@link #getIndicesContacts()} will produce the
  contacts, i.e. the set of points within distance cutoff.
  
  Subsequent calls to method {@link #getAtomContacts()} will produce a NullPointerException
  since this only adds coordinates and no atom information.
  @param iAtoms
  @param icoordbounds
  @param jAtoms
  @param jcoordbounds