default boolean ifString(Consumer<String> consumer){
  if (isString()) {
    consumer.accept(asString());
    return true;
  }
  return false;
}

default boolean ifString ( Consumer < String > consumer ) { if ( isString ( ) ) { consumer . accept ( asString ( ) ) ; return true ; } return false ; }
if a value is a string , invoke the specified consumer with the value , otherwise do nothing .
