code: function annotateValidationFunction(validationFunction) {
      // Test if the validation function is just an array of permission names
      if (angular.isArray(validationFunction) && !angular.isFunction(validationFunction[validationFunction.length - 1])) {
        validationFunction = preparePermissionEvaluation(validationFunction);
      } else if (!angular.isArray(validationFunction.$inject || validationFunction)) {
        // The function is not explicitly annotated, so assume using old-style parameters
        // and manually prepare for injection using our known old API parameters
        validationFunction = ['roleName', 'transitionProperties', validationFunction];
      }
  
      return validationFunction;
    }
docs: Ensures the validation is injectable using explicit annotation.
  Wraps a non-injectable function for backwards compatibility
  @methodOf permission.Role
  @private
  
  @param validationFunction {Function|Array} Function to wrap with injectable if needed
  
  @return {Function} Explicitly injectable function