public override void Validate(GQLPluginManager myPluginManager, IGraphDB myGraphDB, SecurityToken mySecurityToken, Int64 myTransactionToken) { if (!myPluginManager.HasPlugin <IGQLAggregate>(FuncName)) { throw new AggregateOrFunctionDoesNotExistException(FuncName); } Aggregate = myPluginManager.GetAndInitializePlugin <IGQLAggregate>(FuncName); if (Parameters.Count != 1) { throw new AggregateParameterCountMismatchException(FuncName, 1, Parameters.Count); } _Parameter = Parameters.FirstOrDefault() as IDChainDefinition; if (_Parameter == null) { throw new AggregateNotAllowedException(this.FuncName); } _Parameter.Validate(myPluginManager, myGraphDB, mySecurityToken, myTransactionToken, false); }