public ArtifactResult getArtifactResult(ArtifactContext context) throws RepositoryException { context = applyOverrides(context); final Node node = getLeafNode(context); if (node != null) { String foundSuffix = ArtifactContext.getSuffixFromNode(node); // First handle all the artifact we didn't find ArtifactResult result = handleNotFound(context, foundSuffix); if (result != null) { // Seems we were able to find this artifact anyway, so lets return it return result; } else { // Now return the artifact we found context.setSuffixes(foundSuffix); // Make sure we'll have only one suffix if (ArtifactContext.isDirectoryName(node.getLabel())) { return getFolder(context, node); } else { return getArtifactResult(context, node); } } } else { return handleNotFound(context, null); } }