code: @Override
      public CollationKey getCollationKey(String source) {
          if (source == null) {
              return null;
          }
          CollationBuffer buffer = null;
          try {
              buffer = getCollationBuffer();
              return getCollationKey(source, buffer);
          } finally {
              releaseCollationBuffer(buffer);
          }
      }
docs: <p>
  Get a Collation key for the argument String source from this RuleBasedCollator.
  <p>
  General recommendation: <br>
  If comparison are to be done to the same String multiple times, it would be more efficient to generate
  CollationKeys for the Strings and use CollationKey.compareTo(CollationKey) for the comparisons. If the each
  Strings are compared to only once, using the method RuleBasedCollator.compare(String, String) will have a better
  performance.
  <p>
  See the class documentation for an explanation about CollationKeys.
  
  @param source
  the text String to be transformed into a collation key.
  @return the CollationKey for the given String based on this RuleBasedCollator's collation rules. If the source
  String is null, a null CollationKey is returned.
  @see CollationKey
  @see #compare(String, String)
  @see #getRawCollationKey