private void addRequestEndPointUsingPath(
      ContextMeta context,
      ServiceMeta service,
      ServiceMethodMeta method,
      RequestMeta requestMeta,
      String path) {
    RequestMetaData metaData = new RequestMetaData(path, context, requestMeta, method, service);

    if (requestMeta.getCallType() == CallType.ADDRESS) {
      metaDataMap.put(path, metaData);
    } else {
      treeMap.put(path, metaData);
    }
  }
  private RequestMetaData doGet(final String path) {

    RequestMetaData requestMetaData = metaDataMap.get(path);

    if (requestMetaData == null) {
      final Map.Entry<String, RequestMetaData> entry = treeMap.lowerEntry(path);

      if (entry == null) {
        return null;
      }
      if (path.startsWith(entry.getKey())) {
        return entry.getValue();
      } else {
        return null;
      }
    } else {
      return requestMetaData;
    }
  }