boolQuery: nested clauses and dynamically adding new ones

I have tried to create intermediate steps, but then I am getting a StackOverflowError. I am trying to embed a new QueryBuilder object in an existing one. Do you know whether/how this is possible?

BoolQueryBuilder queryBuilderNew = new BoolQueryBuilder();

queryBuilderNew
		.should(QueryBuilders.nestedQuery(nestedPath, QueryBuilders.boolQuery()
				.must(QueryBuilders.queryString(field + ":(horse)").defaultOperator(QueryStringQueryBuilder.Operator.AND))
		))
		.should(QueryBuilders.nestedQuery(nestedPath, QueryBuilders.boolQuery()
				.must(QueryBuilders.queryString(field + ":(pig)").defaultOperator(QueryStringQueryBuilder.Operator.AND))
		));

queryBuilderNew.must(queryBuilderNew);