private void put ( T item ) { HashMap < String , Object > keys ; if ( item == null ) { throw new NullPointerException ( "Multi caches may not have null values." ) ; } keys = getKeys ( item ) ; synchronized ( this ) { for ( String key : caches . keySet ( ) ) { ConcurrentCache < Object , T > cache = caches . get ( key ) ; Object ob = keys . get ( key ) ; if ( ob instanceof BigDecimal ) { ob = ( ( BigDecimal ) ob ) . longValue ( ) ; } cache . put ( ob , item ) ; } } }
Places the specified item into the cache regardless of current cache state .