private String parameterValueStringApiValue(final CycSymbol key, final Object val) {
    final Object cycListApiValue = parameterValueCycListApiValue(key, val);
    if (isProblemStoreSpecification(key, cycListApiValue)) {
      return problemStoreStringApiValue((List) cycListApiValue);
    }
    if (cycListApiValue instanceof CycObject) {
      return ((CycObject) cycListApiValue).stringApiValue();
    } else {
      return (DefaultCycObject.stringApiValue(cycListApiValue));
    }
  }