def METHOD_NAME(self, request, context):
    id_ = request.id
    props = rpc.deserialize_properties(request.properties)
    provider = get_provider(props)
    result = provider.read(id_, props)  # pylint: disable=no-member
    outs = result.outs
    outs[PROVIDER_KEY] = props[PROVIDER_KEY]
    loop = asyncio.new_event_loop()
    outs_proto = loop.run_until_complete(rpc.serialize_properties(outs, {}))
    loop.close()
    fields = {"id": result.id, "properties": outs_proto}
    return proto.ReadResponse(**fields)