code: function( angle ){
  
              if (!angle && this._aabb){
                  return Physics.aabb.clone( this._aabb );
              }
  
              var scratch = Physics.scratchpad()
                  ,p = scratch.vector()
                  ,trans = scratch.transform().setRotation( angle || 0 )
                  ,xaxis = scratch.vector().set( 1, 0 ).rotateInv( trans )
                  ,yaxis = scratch.vector().set( 0, 1 ).rotateInv( trans )
                  ,xmax = this.getFarthestHullPoint( xaxis, p ).proj( xaxis )
                  ,xmin = - this.getFarthestHullPoint( xaxis.negate(), p ).proj( xaxis )
                  ,ymax = this.getFarthestHullPoint( yaxis, p ).proj( yaxis )
                  ,ymin = - this.getFarthestHullPoint( yaxis.negate(), p ).proj( yaxis )
                  ,aabb
                  ;
  
              aabb = Physics.aabb( xmin, ymin, xmax, ymax );
  
              if (!angle){
                  // if we don't have an angle specified (or it's zero)
                  // then we can cache this result
                  this._aabb = Physics.aabb.clone( aabb );
              }
  
              scratch.done();
              return aabb;
          }
docs: extended