### Question:
Tile implements Comparable<Tile>, Serializable { public synchronized Rectangle getRegion() throws IllegalStateException, IOException { checkGeometryValidity(); if (width == 0 && height == 0) { final int imageIndex = getImageIndex(); final ImageReader reader = getImageReader(); setSize(reader.getWidth(imageIndex), reader.getHeight(imageIndex)); dispose(reader); } return new Rectangle(x, y, width & MASK, height & MASK); } Tile(final Tile tile, final Object input, final Rectangle region);  Tile(ImageReaderSpi provider, final Object input, final int imageIndex,
                final Point location, final Dimension subsampling);  Tile(ImageReaderSpi provider, final Object input, final int imageIndex,
                final Rectangle region, final Dimension subsampling);  Tile(ImageReaderSpi provider, final Object input, final int imageIndex,
                final Rectangle region, final AffineTransform gridToCRS);  Tile(final ImageReaderSpi provider, final Object input, final int imageIndex, final Rectangle region); ImageReader getImageReader(); ImageReaderSpi getImageReaderSpi(); Object getInput(); String getInputName(); String getFormatName(); int getImageIndex(); synchronized AffineTransform getGridToCRS(); synchronized Dimension getSubsampling(); Dimension getSubsamplingFloor(final Dimension subsampling); synchronized Point getLocation(); synchronized Rectangle getRegion(); final int compareTo(final Tile other); @Override boolean equals(final Object object); @Override int hashCode(); @Override String toString(); static void writeTable(final Collection<Tile> tiles, final Writer out, final int maximum);  }### Answer:
@Test public void testUnsignedShort() throws IOException { Rectangle bounds = new Rectangle(0, 0, 1000, 1000); Tile tile = new Tile(null, "Tile.png", 0, bounds); assertEquals(bounds, tile.getRegion()); bounds = new Rectangle(0, 0, 40000, 40000); tile = new Tile(null, "Tile.png", 0, bounds); assertEquals(bounds, tile.getRegion()); bounds = new Rectangle(0, 0, 60000, 60000); tile = new Tile(null, "Tile.png", 0, bounds); assertEquals(bounds, tile.getRegion()); bounds = new Rectangle(0, 0, 70000, 70000); try { tile = new Tile(null, "Tile.png", 0, bounds); fail("Should be out of unsigned short range."); } catch (IllegalArgumentException e) { } }