code: function(ocap, values, k) {
              var is_ocap = false, str;
              try {
                  is_ocap |= ocap.r_attributes['class'] === 'OCref';
                  str = ocap[0];
              } catch (e) {};
              if(!is_ocap) {
                  try {
                      is_ocap |= ocap.attributes.value[0].value.value[0] === 'OCref';
                      str = ocap.value[0];
                  } catch (e) {};
              }
              if (!is_ocap) {
                  k(new Error("Expected an ocap, instead got " + ocap), undefined);
                  return;
              }
              var params = [str];
              params.push.apply(params, values);
              // determine the proper queue from the OCAP prefix
              var queue = (str.charCodeAt(0) == 64) ? compute_queue : ctrl_queue;
              _cmd(Rserve.Rsrv.CMD_OCcall, _encode_value(params, Rserve.Rsrv.XT_LANG_NOTAG),
                   k, "", queue);
          }
docs: //////////////////////////////////////////////////////////////////// ocap mode