class UninstantiatedDescribable implements Serializable {

   @Override
    public String toString() {
        StringBuilder b = new StringBuilder();
        if (symbol!=null)
            b.append('@').append(symbol);
        if (klass!=null)
            b.append('$').append(klass);
        b.append('(');
        boolean first = true;
        for (Entry<String,?> e : arguments.entrySet()) {
            if (first)  first = false;
            else        b.append(',');
            b.append(e.getKey()).append('=').append(e.getValue());
        }
        b.append(')');
        return b.toString();
   }

   public  UninstantiatedDescribable(String symbol, String klass, Map<String, ?> arguments);
   public  UninstantiatedDescribable(Map<String, ?> arguments);

}