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);
   }
 }