public static <T> SortedSet<T> dropWhile(SortedSet<T> self, @ClosureParams(FirstParam.FirstGenericType.class) Closure condition) {
        return (SortedSet<T>) dropWhile((Iterable<T>) self, condition);
    }
public static < T > SortedSet < T > dropWhile ( SortedSet < T > self , @ ClosureParams ( FirstParam . FirstGenericType . class ) Closure condition ) { return ( SortedSet < T > ) dropWhile ( ( Iterable < T > ) self , condition ) ; }
Returns a suffix of this SortedSet where elements are dropped from the front
while the given Closure evaluates to true.
Similar to {@link #dropWhile(Iterable, groovy.lang.Closure)}
except that it attempts to preserve the type of the original SortedSet.
<pre class="groovyTestCase">
def nums = [ 1, 2, 3 ] as SortedSet
assert nums.dropWhile{ it {@code <} 4 } == [] as SortedSet
assert nums.dropWhile{ it {@code <} 2 } == [ 2, 3 ] as SortedSet
assert nums.dropWhile{ it != 3 } == [ 3 ] as SortedSet
assert nums.dropWhile{ it == 0 } == [ 1, 2, 3 ] as SortedSet
</pre>

@param self      the original SortedSet
@param condition the closure that must evaluate to true to continue dropping elements
@return the shortest suffix of the given SortedSet such that the given closure condition
evaluates to true for each element dropped from the front of the SortedSet
@since 2.4.0