code: @Override
      public RuleBasedCollator cloneAsThawed() {
          try {
              RuleBasedCollator result = (RuleBasedCollator) super.clone();
              // since all collation data in the RuleBasedCollator do not change
              // we can safely assign the result.fields to this collator 
              // except in cases where we can't
              result.settings = settings.clone();
              result.collationBuffer = null;
              result.frozenLock = null;
              return result;
          } catch (CloneNotSupportedException e) {
              // Clone is implemented
              return null;
          }
      }
docs: Provides for the clone operation. Any clone is initially unfrozen.