docs: protected void orderNode(SquareNode target, SquareNode node, boolean pointingX) {
  
  		int index0 = findIntersection(target,node);
  		int index1 = (index0+1)%4;
  
  		int index2 = (index0+2)%4;
  		int index3 = (index0+3)%4;
  
  		if( index0 < 0 )
  			throw new RuntimeException("Couldn't find intersection.  Probable bug");
  
  		lineCenters.a = target.center;
  		lineCenters.b = node.center;
  		UtilLine2D_F64.convert(lineCenters,general);
  
  		Polygon2D_F64 poly = target.square;
  		if( pointingX ) {
  			if (sign(general, poly.get(index0)) > 0) {
  				ordered[1] = poly.get(index1);
  				ordered[2] = poly.get(index0);
  			} else {
  				ordered[1] = poly.get(index0);
  				ordered[2] = poly.get(index1);
  			}
  			if (sign(general, poly.get(index2)) > 0) {
  				ordered[3] = poly.get(index2);
  				ordered[0] = poly.get(index3);
  			} else {
  				ordered[3] = poly.get(index3);
  				ordered[0] = poly.get(index2);
  			}
  		} else {
  			if (sign(general, poly.get(index0)) > 0) {
  				ordered[2] = poly.get(index1);
  				ordered[3] = poly.get(index0);
  			} else {
  				ordered[2] = poly.get(index0);
  				ordered[3] = poly.get(index1);
  			}
  			if (sign(general, poly.get(index2)) > 0) {
  				ordered[0] = poly.get(index2);
  				ordered[1] = poly.get(index3);
  			} else {
  				ordered[0] = poly.get(index3);
  				ordered[1] = poly.get(index2);
  			}
  		}
  	}