public BlockTransformExtent(Extent extent,Transform transform,BlockRegistry blockRegistry){
  super(extent);
  checkNotNull(transform);
  checkNotNull(blockRegistry);
  this.transform=transform;
  this.blockRegistry=blockRegistry;
  BLOCK_TRANSFORM=new BaseBlock[FaweCache.CACHE_BLOCK.length];
  BLOCK_TRANSFORM_INVERSE=new BaseBlock[FaweCache.CACHE_BLOCK.length];
  Transform inverse=transform.inverse();
  for (int i=0; i < BLOCK_TRANSFORM.length; i++) {
    BaseBlock block=FaweCache.CACHE_BLOCK[i];
    if (block != null) {
      BLOCK_TRANSFORM[i]=transform(new BaseBlock(block),transform,blockRegistry);
      BLOCK_TRANSFORM_INVERSE[i]=transform(new BaseBlock(block),inverse,blockRegistry);
    }
  }
}

public BlockTransformExtent ( Extent extent , Transform transform , BlockRegistry blockRegistry ) { super ( extent ) ; checkNotNull ( transform ) ; checkNotNull ( blockRegistry ) ; this . transform = transform ; this . blockRegistry = blockRegistry ; BLOCK_TRANSFORM = new BaseBlock [ FaweCache . CACHE_BLOCK . length ] ; BLOCK_TRANSFORM_INVERSE = new BaseBlock [ FaweCache . CACHE_BLOCK . length ] ; Transform inverse = transform . inverse ( ) ; for ( int i = 0 ; i < BLOCK_TRANSFORM . length ; i ++ ) { BaseBlock block = FaweCache . CACHE_BLOCK [ i ] ; if ( block != null ) { BLOCK_TRANSFORM [ i ] = transform ( new BaseBlock ( block ) , transform , blockRegistry ) ; BLOCK_TRANSFORM_INVERSE [ i ] = transform ( new BaseBlock ( block ) , inverse , blockRegistry ) ; } } }
create a new instance .
