¿Cómo otorgar permiso de usuario a ciertas carpetas con el Modelo de objetos de cliente?

Hasta ahora puedo otorgarle al usuario cierto permiso con el siguiente código:

    ClientContext context = new ClientContext("http://myRealURL");
    Principal user = context.Web.EnsureUser(@"myLoginAccout");

    RoleDefinition readDef = context.Web.RoleDefinitions.GetByName("Read");
    RoleDefinitionBindingCollection roleDefCollection = new RoleDefinitionBindingCollection(context);
    roleDefCollection.Add(readDef);
    RoleAssignment newRoleAssignment = context.Web.RoleAssignments.Add(user, roleDefCollection);

    context.ExecuteQuery(); 

El código anterior funciona bien, ahora mi tarea es agregar el permiso del usuario solo a ciertas carpetas con código C #. Por ejemplo, en Bibliotecas, tengo una biblioteca llamadaJZhu, y dentroJZhuTengo dos carpetasfolder1 yfolder2. ¿Es posible cambiar el permiso de acceso en estas dos carpetas conClient Object Model?

Respuestas a la pregunta(1)

Su respuesta a la pregunta