question: private final Node < V > [ ] initTable ( ) { Node < V > [ ] tab ; int sc ; while ( ( tab = table ) == null || tab . length == 0 ) { if ( ( sc = sizeCtl ) < 0 ) Thread . yield ( ) ; else if ( U . compareAndSwapInt ( this , SIZECTL , sc , - 1 ) ) { try { if ( ( tab = table ) == null || tab . length == 0 ) { int n = ( sc > 0 ) ? sc : DEFAULT_CAPACITY ; @ SuppressWarnings ( "unchecked" ) Node < V > [ ] nt = ( Node < V > [ ] ) new Node < ? > [ n ] ; table = tab = nt ; sc = n - ( n > > > 2 ) ; } } finally { sizeCtl = sc ; } break ; } } return tab ; }
target:  Initializes table, using the size recorded in sizeCtl.