code: public static String quoteParameter(final String param) {
          // return null if null
          if (noLength(param))
              return param;
  
          // return immediately if already quoted
          if (param.startsWith("\"") && param.endsWith("\""))
              return param;
  
          // return quoted if string contains non-word character
          Matcher m = NON_WORD_PATTERN.matcher(param);
          if (m.find()) {
              return "\"" + param + "\"";
          }
  
          // return quoted if string matches a function
          if (_functions.contains(param))
              return "\"" + param + "\"";
  
          // return quoted if string matches a relationship
          if (_relationships.contains(param))
              return "\"" + param + "\"";
  
          if (_keywords.contains(param))
              return "\"" + param + "\"";
  
          // return as is
          return param;
      }
docs: Return a quoted {@link String param} if necessary.  A quoted parameter
  is required in order to parse as a {@link Term BEL term} using the
  {@link BELParser BEL parser}.
  
  @param param {@link String}; {@code null} returns {@code null}
  @return quoted {@link String} if necessary, the original
  {@link String param}, or {@code null} if {@code param} was {@code null}