protected override IEntity OnEvaluateEntity(EvaluationContext evalContext) { IEntity value = Argument.EvaluateEntity(evalContext); if (value == null) { return(null); } // Check that the type conforms if (ResultType.EntityType != null) { if (!EntityTypeCache.GetAssignableTypes(value.TypeIds).Contains(ResultType.EntityType.Id)) { return(null); } } return(value); }