private void ValidateInnerResources() { var resourceGroups = ResourceCollection .GroupBy(r => r.ParentResourceName) .Where(group => group.Key != null); foreach (var group in resourceGroups) { var parentResource = (IResourceInternal)ResourceCollection.SafeGetResource(group.Key); if (parentResource == null) { throw new InvalidResourceDeclarationException( $"Resource type(s) {string.Join(", ", group.Select(item => $"'{item.Name}'"))} is/are declared " + $"within the scope of another class '{group.Key}', that is not a RESTable resource. Inner " + "resources must be declared within a resource class."); } parentResource.InnerResources = group.ToList(); } }