protected function generateMethods(ReflectionClass $reflectionClass)
    {
        $methods = array();
        $methods[] = $this->generateConstructor($reflectionClass);
        $methods[] = $this->generateInvoker($reflectionClass);
        $methods[] = $this->generateOperationNotFound($reflectionClass);
        $methods[] = $this->generateMatchContext($reflectionClass);
        
        if (!$reflectionClass->hasMethod('setEventManager')) {
            $methods[] = $this->generateEventManagerSetter($reflectionClass);
        }
        
        if (!$reflectionClass->hasMethod('getEventManager')) {
            $methods[] = $this->generateEventManagerGetter($reflectionClass);
        }
        
        $methods = array_merge(
            $methods,
            $this->generateServiceMethods($reflectionClass));
        
        return $methods;
    }