question: public mxTemporaryCellStates ( mxGraphView view , double scale , Object [ ] cells ) { this . view = view ; oldBounds = view . getGraphBounds ( ) ; oldStates = view . getStates ( ) ; oldScale = view . getScale ( ) ; view . setStates ( new Hashtable < Object , mxCellState > ( ) ) ; view . setScale ( scale ) ; if ( cells != null ) { mxCellState state = view . createState ( new mxCell ( ) ) ; for ( int i = 0 ; i < cells . length ; i ++ ) { view . validateBounds ( state , cells [ i ] ) ; } double minX = 0 ; double minY = 0 ; double maxX = 0 ; double maxY = 0 ; for ( int i = 0 ; i < cells . length ; i ++ ) { mxRectangle bounds = view . validatePoints ( state , cells [ i ] ) ; minX = Math . min ( minX , bounds . getX ( ) ) ; minY = Math . min ( minY , bounds . getY ( ) ) ; maxX = Math . max ( maxX , bounds . getX ( ) + bounds . getWidth ( ) ) ; maxY = Math . max ( maxY , bounds . getY ( ) + bounds . getHeight ( ) ) ; } view . setGraphBounds ( new mxRectangle ( minX , minY , maxX - minX , maxY - minY ) ) ; } }
target:  Constructs a new temporary cell states instance.