public final CharBuffer decode (ByteBuffer bb)
public final synchronized CharBuffer decode (ByteBuffer bb)
  public final CharBuffer decode (ByteBuffer bb)  {    try      {        // NB: This implementation serializes different threads calling        // Charset.decode(), a potential performance problem.  It might        // be better to remove the cache, or use ThreadLocal to cache on        // a per-thread basis.        synchronized (Charset.class)          {            if (cachedDecoder == null)              {                cachedDecoder = newDecoder ()                  .onMalformedInput (CodingErrorAction.REPLACE)                  .onUnmappableCharacter (CodingErrorAction.REPLACE);              } else 	        cachedDecoder.reset();            return cachedDecoder.decode (bb);          }			}    catch (CharacterCodingException e)      {        throw new AssertionError (e);		}	}