public String toString() {

    StringBuffer sb = new StringBuffer();

    sb.append("Prefix      : ");
    sb.append(prefix);
    sb.append('\n');
    sb.append("Key         : ");
    sb.append(key);
    sb.append('\n');
    sb.append("Detail      : ");
    sb.append(detail);
    sb.append('\n');
    sb.append("Separator   : ");
    sb.append(separator);
    sb.append('\n');
    sb.append("Value       : ");
    sb.append(value);
    sb.append('\n');
    sb.append("Multiplicity: ");
    sb.append(multiplicity);
    sb.append('\n');
    sb.append("Pattern     : ");
    sb.append(pattern);
    sb.append('\n');

    sb.append("Results     : ");
    sb.append(counter);
    sb.append('\n');
    if (value) {
      if (detail) {
        for (int i = 0; i < values.size(); i++) {
          sb.append(details.get(i));
          sb.append(" / ");
          sb.append(values.get(i));
          sb.append('\n');
        }
      } else {
        for (int i = 0; i < values.size(); i++) {
          sb.append(values.get(i));
          sb.append('\n');
        }
      }
    }
    
    return sb.toString();

  }