protected function resolveVariableTag($id, $bindingType, $collection, $key, $type, $humanName, $collectionName, $group, $category, $alternateTarget, $defaults)
{
list($model, $attribute) = $this->extractModelFromKey($key);
$tag = $this->tags[$id];
$tag['id'] = $id;
$tag['bindingType'] = $attribute ? 'attribute' : 'model';
$tag['collection'] = $collection;
$tag['key'] = $model->getKey();
$tag['type'] = get_class($model);
$tag['humanName'] = $humanName;
$tag['collectionName'] = $collectionName;
$tag['group'] = $group;
$tag['category'] = $category;
$tag['alternateTarget'] = $alternateTarget;
$tag['defaults'] = $defaults;
$tag['model'] = $model;
if ($attribute) {
$tag['attribute'] = $attribute;
}
$tag['data'] = $this->TagManager->getInstanceForTag($tag);
if ($attribute) {
$tag['cid'] = $tag['bindingType'] . $tag['data']->id;
} else {
$tag['cid'] = $tag['bindingType'] . $this->cids[$tag['bindingType']]++;
}
$this->tags[] = $tag;
return $tag;
}