this.file = file; this.fposition = fposition;  xloc = TILE_SIZE * tilex; yloc = TILE_SIZE * tiley;  location = LOCATION_INVALID; data = null; lastused = System.currentTimeMillis();  this.sm = (SinglePixelPackedSampleModel) sm;  masks = this.sm.getBitMasks(); offsets = this.sm.getBitOffsets();  validate();
this( tilex, tiley, file, fposition, new BufferedImage(TILE_SIZE, TILE_SIZE, BufferedImage.TYPE_INT_RGB) .getSampleModel());
   public Tile(      int tilex,      int tiley,      FileChannel file,      int fposition,      SampleModel sm)   {      this.file = file;      this.fposition = fposition;      xloc = TILE_SIZE * tilex;      yloc = TILE_SIZE * tiley;      location = LOCATION_INVALID;      data = null;      lastused = System.currentTimeMillis();      this.sm = (SinglePixelPackedSampleModel) sm;      masks = this.sm.getBitMasks();      offsets = this.sm.getBitOffsets();      validate(); // go ahead and validate this tile   }