private static void checkForOtherVariants ( Data data , ULocale locale , String style ) { DecimalFormat . Unit [ ] otherByBase = data . units . get ( OTHER ) ; if ( otherByBase == null ) { throw new IllegalArgumentException ( "No 'other' plural variants defined in " + localeAndStyle ( locale , style ) ) ; } // Check all other plural variants, and make sure that if any of them are populated, then // other is also populated for ( Map . Entry < String , Unit [ ] > entry : data . units . entrySet ( ) ) { if ( entry . getKey ( ) == OTHER ) continue ; DecimalFormat . Unit [ ] variantByBase = entry . getValue ( ) ; for ( int log10Value = 0 ; log10Value < MAX_DIGITS ; log10Value ++ ) { if ( variantByBase [ log10Value ] != null && otherByBase [ log10Value ] == null ) { throw new IllegalArgumentException ( "No 'other' plural variant defined for 10^" + log10Value + " but a '" + entry . getKey ( ) + "' variant is defined" + " in " + localeAndStyle ( locale , style ) ) ; } } } }
Checks to make sure that an other variant is present in all powers of 10 .