}
private Bounds calculateBounds( Bounds preferedBounds, List<Instruction> instructions ) {
int width = computeWidth( instructions );
int height = computeHeight( preferedBounds, instructions );
Bounds bounds = stacker.stack( width, height );
return applyMargins( bounds, instructions );
}