types::InternalType* set(types::InternalType* adaptor_type, const std::wstring& field, types::InternalType* value)
{
    Adaptor* adaptor = adaptor_type->getAs<Adaptor>();

    if (!adaptor->setProperty(field, value, Controller()))
    {
        Scierror(999, _("%s: Wrong value for input argument #%d: unable to set \"%ls\".\n"), funame.c_str(), 2, field.c_str());
        return adaptor_type;
    }

    return adaptor_type->clone();
}