code: @Override
      public void setDecomposition(int decomposition)
      {
          checkNotFrozen();
          boolean flag;
          switch(decomposition) {
          case NO_DECOMPOSITION:
              flag = false;
              break;
          case CANONICAL_DECOMPOSITION:
              flag = true;
              break;
          default:
              throw new IllegalArgumentException("Wrong decomposition mode.");
          }
          if(flag == settings.readOnly().getFlag(CollationSettings.CHECK_FCD)) { return; }
          CollationSettings ownedSettings = getOwnedSettings();
          ownedSettings.setFlag(CollationSettings.CHECK_FCD, flag);
          setFastLatinOptions(ownedSettings);
      }
docs: Sets the decomposition mode of this Collator.  Setting this
  decomposition attribute with CANONICAL_DECOMPOSITION allows the
  Collator to handle un-normalized text properly, producing the
  same results as if the text were normalized. If
  NO_DECOMPOSITION is set, it is the user's responsibility to
  insure that all text is already in the appropriate form before
  a comparison or before getting a CollationKey. Adjusting
  decomposition mode allows the user to select between faster and
  more complete collation behavior.
  
  <p>Since a great many of the world's languages do not require
  text normalization, most locales set NO_DECOMPOSITION as the
  default decomposition mode.
  
  The default decompositon mode for the Collator is
  NO_DECOMPOSITON, unless specified otherwise by the locale used
  to create the Collator.
  
  <p>See getDecomposition for a description of decomposition
  mode.
  
  @param decomposition the new decomposition mode
  @see #getDecomposition
  @see #NO_DECOMPOSITION
  @see #CANONICAL_DECOMPOSITION
  @throws IllegalArgumentException If the given value is not a valid
  decomposition mode.