code: public String humanize( String lowerCaseAndUnderscoredWords,
                              String... removableTokens ) {
          if (lowerCaseAndUnderscoredWords == null) return null;
          String result = lowerCaseAndUnderscoredWords.trim();
          if (result.length() == 0) return "";
          // Remove a trailing "_id" token
          result = result.replaceAll("_id$", "");
          // Remove all of the tokens that should be removed
          if (removableTokens != null) {
              for (String removableToken : removableTokens) {
                  result = result.replaceAll(removableToken, "");
              }
          }
          result = result.replaceAll("_+", " "); // replace all adjacent underscores with a single space
          return capitalize(result);
      }
docs: Capitalizes the first word and turns underscores into spaces and strips trailing "_id" and any supplied removable tokens.
  Like {@link #titleCase(String, String[])}, this is meant for creating pretty output.
  
  Examples:
  
  <pre>
  inflector.humanize(&quot;employee_salary&quot;)       #=&gt; &quot;Employee salary&quot;
  inflector.humanize(&quot;author_id&quot;)             #=&gt; &quot;Author&quot;
  </pre>
  
  
  
  @param lowerCaseAndUnderscoredWords the input to be humanized
  @param removableTokens optional array of tokens that are to be removed
  @return the humanized string
  @see #titleCase(String, String[])