code: @Override
      synchronized public List<SLEndpoint> getEndpoints(final QName serviceName)
              throws ServiceLocatorException, InterruptedException {
  
          RootNode rootNode = getBackend().connect();
          ServiceNode serviceNode = rootNode.getServiceNode(serviceName);
  
          if (serviceNode.exists()) {
              List<EndpointNode> endpointNodes = serviceNode.getEndPoints();
  
              List<SLEndpoint> slEndpoints = new ArrayList<SLEndpoint>(endpointNodes.size());
              for (EndpointNode endpointNode : endpointNodes) {
                  byte[] content = endpointNode.getContent();
                  final boolean isLive = endpointNode.isLive();
                  SLEndpoint slEndpoint = transformer.toSLEndpoint(serviceName, content, isLive);
                  slEndpoints.add(slEndpoint);
              }
              return slEndpoints;
          } else {
              return Collections.emptyList();
          }
      }
docs: {@inheritDoc}