private void setAccessors ( int bias , JMFSchema schema ) { int nextBoxBias = bias + fields . length + variants . length ; for ( int i = 0 ; i < fields . length ; i ++ ) { JSField field = fields [ i ] ; if ( field instanceof JSVariant ) { JSchema boxed = ( JSchema ) ( ( JSVariant ) field ) . getBoxed ( ) ; boxed . setAccessors ( nextBoxBias , schema ) ; // Copy accessors from the top type of the box to the visible variant JSVariant boxVar = ( JSVariant ) boxed . getJMFType ( ) ; field . setAccessor ( boxVar . getAccessor ( boxed ) , boxed ) ; field . setAccessor ( boxVar . getAccessor ( schema ) , schema ) ; ( ( JSVariant ) field ) . setBoxAccessor ( i + bias , schema ) ; nextBoxBias += boxed . getAccessorCount ( ) ; } else field . setAccessor ( i + bias , schema ) ; } for ( int i = 0 ; i < variants . length ; i ++ ) variants [ i ] . setAccessor ( i + bias + fields . length , schema ) ; }
permits retrieval of accessors relative to box schemas as well as the public schema .