code: public String translate(Name n) {
          final String name = n.getName();
          final String environment = n.getEnvironment();
          final List<String> res = new ArrayList<>();
  
          if (environment != null) {
              res.add(quotize(environment, translateEscape()) + "." + (n.isQuote() ? quotize(name, translateEscape()) : name));
          } else {
              res.add(n.isQuote() ? quotize(name, translateEscape()) : name);
          }
  
          if (n.getOrdering() != null) {
              res.add(n.getOrdering());
          }
  
          if (n.isIsNull()) {
              res.add("IS NULL");
          }
  
          if (n.isIsNotNull()) {
              res.add("IS NOT NULL");
          }
  
          if (n.isEnclosed()) {
              return "(" + StringUtils.join(res, " ") + ")";
          } else {
              return StringUtils.join(res, " ");
          }
      }
docs: Translates {@link Name}.
  
  @param n The object to translate.
  @return The string representation of the given object.