code: public static CharSequence dropWhile(CharSequence self, @ClosureParams(value=SimpleType.class, options="char") Closure condition) {
          int num = 0;
          BooleanClosureWrapper bcw = new BooleanClosureWrapper(condition);
          while (num < self.length()) {
              char value = self.charAt(num);
              if (bcw.call(value)) {
                  num += 1;
              } else {
                  break;
              }
          }
          return drop(self, num);
      }
docs: Create a suffix of the given CharSequence by dropping as many characters as possible from the
  front of the original CharSequence such that calling the given closure condition evaluates to
  true when passed each of the dropped characters.
  <p>
  <pre class="groovyTestCase">
  def text = "Groovy"
  assert text.dropWhile{ false } == 'Groovy'
  assert text.dropWhile{ true } == ''
  assert text.dropWhile{ it < 'Z' } == 'roovy'
  assert text.dropWhile{ it != 'v' } == 'vy'
  </pre>
  
  @param self      the original CharSequence
  @param condition the closure that while continuously evaluating to true will cause us to drop elements from
  the front of the original CharSequence
  @return the shortest suffix of the given CharSequence such that the given closure condition
  evaluates to true for each element dropped from the front of the CharSequence
  @since 2.0.0