public Geometry getDebugBounds(float y){
Collection<Geometry> geometries = new ArrayList<Geometry>();
Line l = new Line(new Vector3f(top.EndPointA().x, y, top.EndPointA().y),
new Vector3f(top.EndPointB().x, y, top.EndPointB().y));
geometries.add(new Geometry("top", l));
l = new Line(new Vector3f(right.EndPointA().x, y, right.EndPointA().y),
new Vector3f(right.EndPointB().x, y, right.EndPointB().y));
geometries.add(new Geometry("right", l));
l = new Line(new Vector3f(bottom.EndPointA().x, y, bottom.EndPointA().y),
new Vector3f(bottom.EndPointB().x, y, bottom.EndPointB().y));
geometries.add(new Geometry("bottom", l));
l = new Line(new Vector3f(left.EndPointA().x, y, left.EndPointA().y),
new Vector3f(left.EndPointB().x, y, left.EndPointB().y));
geometries.add(new Geometry("left", l));
Mesh m = new Mesh();
GeometryBatchFactory.mergeGeometries(geometries, m);
Geometry g = new Geometry("bounds of "+toString(), m);
g.updateModelBound();
return g;
}