appendValue(buf, oidSymbols, (DERObjectIdentifier)ordering.elementAt(i), (String)values.elementAt(i));
buf.append(components.elementAt(i).toString());
    public String toString(        boolean     reverse,        Hashtable   oidSymbols)    {        StringBuffer            buf = new StringBuffer();        boolean                 first = true;        if (reverse)        {            for (int i = ordering.size() - 1; i >= 0; i--)            {                if (first)                {                    first = false;                }                else                {                    if (((Boolean)added.elementAt(i + 1)).booleanValue())                    {                        buf.append('+');                    }                    else                    {                        buf.append(',');                    }                }                appendValue(buf, oidSymbols,                             (DERObjectIdentifier)ordering.elementAt(i),                            (String)values.elementAt(i));            }        }        else        {            for (int i = 0; i < ordering.size(); i++)            {                if (first)                {                    first = false;                }                else                {                    if (((Boolean)added.elementAt(i)).booleanValue())                    {                        buf.append('+');                    }                    else                    {                        buf.append(',');                    }                }                appendValue(buf, oidSymbols,                             (DERObjectIdentifier)ordering.elementAt(i),                            (String)values.elementAt(i));            }        }        return buf.toString();    }