title: SortedSet transform
body: <p>I have the following case:</p>
  
  <pre><code>SortedSet&lt;MyClass&gt; sortedSet = ...;
  SortedSet&lt;HeavyToCompare&gt; newSet = ...;
  for (MyClass m: sortedSet ){
  newSet.add(m.getHeavyToCompare())    
  }
  </code></pre>
  
  <p>I want to avoid reordering of the newSet because HeavyToCompare it's very expensive to compare. Rather i want to keep the insertion order (that is the same of the original set).
  I understand that I can create a simple comparator that always return -1, but this breaks the contract of compareTo.
  What's the best practice here? I would need something like </p>
  
  <pre><code>SortedSet&lt;K&gt; result = Sets.transformAndKeepOrder(SortedSet&lt;T&gt; from, Function&lt;T, K&gt; function)
  </code></pre>
  
  <p>UPDATE: I cannot change the SortedSet, it is a requirement</p>