code: public void link(Space other) {
  		// aligned vertical edges
  		if (inTolerance(x,other.x+other.width) || inTolerance(x+width, other.x)) {
  			float linkx = x;
  			if (x+width == other.x) {
  				linkx = x+width;
  			}
  			
  			float top = Math.max(y, other.y);
  			float bottom = Math.min(y+height, other.y+other.height);
  			float linky = top + ((bottom-top)/2);
  			
  			Link link = new Link(linkx, linky, other);
  			links.put(other,link);
  			linksList.add(link);
  		}
  		// aligned horizontal edges
  		if (inTolerance(y, other.y+other.height) || inTolerance(y+height, other.y)) {
  			float linky = y;
  			if (y+height == other.y) {
  				linky = y+height;
  			}
  			
  			float left = Math.max(x, other.x);
  			float right = Math.min(x+width, other.x+other.width);
  			float linkx = left + ((right-left)/2);
  			
  			Link link = new Link(linkx, linky, other);
  			links.put(other, link);
  			linksList.add(link);
  		}		
  	}
docs: Link this space to another by creating a link and finding the point
  at which the spaces link up
  
  @param other The other space to link to