code: function addCheckScopeMethod() {
  
          $scopes = $this->operationDefinition->getScopes();
          if (count($scopes) == 0) {
              //TODO - should the method be added anyway? For now, no.
              return;
          }
  
          $methodGenerator = new MethodGenerator('checkScopeRequirement');
          $parameterGenerator = new ParameterGenerator('allowedScopes', 'array');
          $methodGenerator->setParameter($parameterGenerator);
          
          $body = '//For each of the elements, all of the scopes in that element'.PHP_EOL;
          $body .= '//must be satisfied'.PHP_EOL;
          $body .= '$requiredScopesArray = ['.PHP_EOL;
          
          foreach ($scopes as $scopeList) {
              $body .= '    [';
              $separator = '';
              foreach ($scopeList as $scope) {
                  $body .= sprintf("%s'%s'", $separator, $scope);
                  $separator = ', ';
              }
              $body .= ']'.PHP_EOL;
          }
  
          $body .= '];'.PHP_EOL.PHP_EOL;
  
          $body .= <<< 'END'
  foreach($requiredScopesArray as $requiredScopes) {
      $requirementMet = true;
      foreach ($requiredScopes as $requiredScope) {
          if (in_array($requiredScope, $allowedScopes) == false) {
              $requirementMet = false;
              break;
          }
      }
  
      if ($requirementMet == true) {
          return true;
      }
  }
  
  return false;
  
  END;
  
          $methodGenerator->setBody($body);
          $this->classGenerator->addMethodFromGenerator($methodGenerator);
      }
docs: Adds a method to allow checking of the scope requirement for an operation.