public PipelineInstanceModels findMatchingPipelineInstances(String pipelineName, String pattern, int limit, Username userName, HttpLocalizedOperationResult result) { pattern = escapeWildCardsAndTrim(pattern.trim()); if (!securityService.hasViewPermissionForPipeline(userName, pipelineName)) { result.forbidden(LocalizedMessage.forbiddenToViewPipeline(pipelineName), HealthStateType.general(HealthStateScope.forPipeline(pipelineName))); return PipelineInstanceModels.createPipelineInstanceModels(); } PipelineInstanceModels models = pipelineDao.findMatchingPipelineInstances(pipelineName, pattern, limitForPipeline(pipelineName, limit)); for (PipelineInstanceModel model : models) { populatePlaceHolderStages(model); populateMaterialRevisionsOnBuildCause(model); } return models; }