public IQueryBuilder WithType(string key, Func <ITypeBuilder, ITypeBuilder> predicate) { ITypeBuilder builder = predicate(new GraphQLQueryTypeBuilder(key)); if (builder.Types.Count == 0 && builder.Parameters.Count == 0) { return(WithObject(key)); } return(WithType(builder.ToType())); }