docs: @Override
      public EndPointInfo defineEndPoint(String name, String host, int port) {
          try {
              EndPointInfoImpl ep;
              synchronized (this.endpoints) {
                  // if the endpoint with the same name already exists,
                  // update it
                  if (this.endpoints.containsKey(name)) {
                      if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) {
                          Tr.event(tc, "The new endpoint " + name + "already exists. Update the properties of the registered service");
                      }
                      ep = updateEndpointMBean(name, host, port);
                  } else {
                      // create and register the end point
                      ep = new EndPointInfoImpl(name, host, port);
                      registerEndpointMBean(name, ep);
                      this.endpoints.put(name, ep);
                  }
              }
              return ep;
          } catch (NotCompliantMBeanException ex) {
              // This should never happen
              throw new IllegalStateException("Encountered a situation that should never occur. The EndPointInfo resulted in NotCompliantMBeanException", ex);
          }
      }