code: private String computeFilteredPrefixedValue(String type, String value,
        String filter, String prefix) throws MtasConfigException {
      String localValue = value;
      // do magic with filter
      if (filter != null) {
        String[] filters = filter.split(",");
        for (String item : filters) {
          if (item.trim().equals(MAPPING_FILTER_UPPERCASE)) {
            localValue = localValue == null ? null : localValue.toUpperCase();
          } else if (item.trim().equals(MAPPING_FILTER_LOWERCASE)) {
            localValue = localValue == null ? null : localValue.toLowerCase();
          } else if (item.trim().equals(MAPPING_FILTER_ASCII)) {
            if (localValue != null) {
              char[] old = localValue.toCharArray();
              char[] ascii = new char[4 * old.length];
              ASCIIFoldingFilter.foldToASCII(old, 0, ascii, 0,
                  localValue.length());
              localValue = new String(ascii);
            }
          } else if (item.trim()
              .matches(Pattern.quote(MAPPING_FILTER_SPLIT) + "\\([0-9\\-]+\\)")) {
            if (!type.equals(MtasParserMapping.PARSER_TYPE_TEXT_SPLIT)) {
              throw new MtasConfigException(
                  "split filter not allowed for " + type);
            }
          } else {
            throw new MtasConfigException(
                "unknown filter " + item + " for value " + localValue);
          }
        }
      }
      if (localValue != null && prefix != null) {
        localValue = prefix + localValue;
      }
      return localValue;
    }
docs: Compute filtered prefixed value.
  
  @param type the type
  @param value the value
  @param filter the filter
  @param prefix the prefix
  @return the string
  @throws MtasConfigException the mtas config exception