diff --git a/tagging-server/src/main/java/org/apache/opennlp/tagging_server/ServiceUtil.java b/tagging-server/src/main/java/org/apache/opennlp/tagging_server/ServiceUtil.java
index 16832f4..a4e6340 100644
--- a/tagging-server/src/main/java/org/apache/opennlp/tagging_server/ServiceUtil.java
+++ b/tagging-server/src/main/java/org/apache/opennlp/tagging_server/ServiceUtil.java
@@ -20,6 +20,7 @@
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.framework.ServiceReference;
 
 public class ServiceUtil {
@@ -27,6 +28,33 @@
   private ServiceUtil() {
   }
   
+  
+  
+
+  public static ServiceReference getModelServiceReference(
+      Class<?> serviceClazz, String modelName) {
+
+    String filter = "(&(objectClass=" + serviceClazz.getName() + ")(MODEL_NAME=" + modelName + "))";
+
+    Bundle bundle = FrameworkUtil.getBundle(ServiceUtil.class);
+    BundleContext context = bundle.getBundleContext();
+
+    ServiceReference[] serviceReferences;
+    try {
+      serviceReferences = context.getServiceReferences(
+          null, filter);
+    } catch (InvalidSyntaxException e) {
+      throw new IllegalArgumentException("modelName can't be used as value in filter!", e);
+    }
+    
+    if (serviceReferences != null && serviceReferences.length > 0) {
+      return serviceReferences[0];
+    }
+    else {
+      return null;
+    }
+  }
+  
   public static ServiceReference getServiceReference(Class<?> serviceClazz) {
     Bundle bundle = FrameworkUtil.getBundle(ServiceUtil.class);
     BundleContext context = bundle.getBundleContext();
diff --git a/tagging-server/src/main/java/org/apache/opennlp/tagging_server/TaggingServerApplication.java b/tagging-server/src/main/java/org/apache/opennlp/tagging_server/TaggingServerApplication.java
index bdd7668..7de2984 100644
--- a/tagging-server/src/main/java/org/apache/opennlp/tagging_server/TaggingServerApplication.java
+++ b/tagging-server/src/main/java/org/apache/opennlp/tagging_server/TaggingServerApplication.java
@@ -22,6 +22,7 @@
 
 import javax.ws.rs.core.Application;
 
+import org.apache.opennlp.tagging_server.namefind.BratNameFinderResource;
 import org.apache.opennlp.tagging_server.namefind.NameFinderResource;
 import org.apache.opennlp.tagging_server.postag.POSTaggerResource;
 
@@ -32,6 +33,7 @@
     Set<Class<?>> result = new HashSet<Class<?>>();
     result.add(POSTaggerResource.class);
     result.add(NameFinderResource.class);
+    result.add(BratNameFinderResource.class);
     return result;
   }
 }
