code: function getLocalAttribute(path, attrNode, context) {
      path.forEach(attributeName => {
          if (!attrNode.attributes || !attrNode.attributes[attributeName]) {
              throw new ImplementationError(`Unknown attribute "${path.join('.')}"${context.errorContext}`);
          }
  
          attrNode = attrNode.attributes[attributeName];
  
          if (attrNode.dataSources || attrNode.resource) {
              throw new ImplementationError(`Path "${path.join('.')}" references sub-resource${context.errorContext}`);
          }
      });
  
      return attrNode;
  }
docs: Resolve attribute path inside current (sub-)resource relative to attrNode
  and return child attrNode.
  
  @private