original_string: function addSourceMethods() {
          $methodBindingArray = $this->implementWeaveInfo->getMethodBindingArray();
          $methods = $this->sourceClassReflection->getMethods();
          foreach ($methods as $sourceMethod) {
              
              if ($sourceMethod->getName() === '__construct') {
                  continue;
              }
              
              $methodBindingToApply = null;
              foreach ($methodBindingArray as $methodBinding) {
                  if ($methodBinding->matchesMethod($sourceMethod->getName()) ) {
                      $methodBindingToApply = $methodBinding;
                      break;
                  }
              }
  
              if ($methodBindingToApply != null) {
                  $decoratorMethod = $methodBindingToApply->getMethod();
                  $decoratorMethodReflection = $this->decoratorReflection->getMethod($decoratorMethod);
                  $this->addDecoratedMethod($sourceMethod, $decoratorMethodReflection);
              }
              else {
                  $this->addPlainMethod($sourceMethod);
              }
          }
      }
code: function addSourceMethods() {
          $methodBindingArray = $this->implementWeaveInfo->getMethodBindingArray();
          $methods = $this->sourceClassReflection->getMethods();
          foreach ($methods as $sourceMethod) {
              
              if ($sourceMethod->getName() === '__construct') {
                  continue;
              }
              
              $methodBindingToApply = null;
              foreach ($methodBindingArray as $methodBinding) {
                  if ($methodBinding->matchesMethod($sourceMethod->getName()) ) {
                      $methodBindingToApply = $methodBinding;
                      break;
                  }
              }
  
              if ($methodBindingToApply != null) {
                  $decoratorMethod = $methodBindingToApply->getMethod();
                  $decoratorMethodReflection = $this->decoratorReflection->getMethod($decoratorMethod);
                  $this->addDecoratedMethod($sourceMethod, $decoratorMethodReflection);
              }
              else {
                  $this->addPlainMethod($sourceMethod);
              }
          }
      }
code_tokens: function addSourceMethods ( ) { $ methodBindingArray = $ this -> implementWeaveInfo -> getMethodBindingArray ( ) ; $ methods = $ this -> sourceClassReflection -> getMethods ( ) ; foreach ( $ methods as $ sourceMethod ) { if ( $ sourceMethod -> getName ( ) === '__construct' ) { continue ; } $ methodBindingToApply = null ; foreach ( $ methodBindingArray as $ methodBinding ) { if ( $ methodBinding -> matchesMethod ( $ sourceMethod -> getName ( ) ) ) { $ methodBindingToApply = $ methodBinding ; break ; } } if ( $ methodBindingToApply != null ) { $ decoratorMethod = $ methodBindingToApply -> getMethod ( ) ; $ decoratorMethodReflection = $ this -> decoratorReflection -> getMethod ( $ decoratorMethod ) ; $ this -> addDecoratedMethod ( $ sourceMethod , $ decoratorMethodReflection ) ; } else { $ this -> addPlainMethod ( $ sourceMethod ) ; } } }
docstring: For all of the methods  in that need to be decorated, generate the decorated version
  and all the to the generator.
  @TODO Shouldn't this only implement the methods in the interface that is being exposed?
docstring_tokens: For all of the methods in that need to be decorated generate the decorated version and all the to the generator .