code: func (a *Agent) RPC(method string, args interface{}, reply interface{}) error {
  	a.endpointsLock.RLock()
  	// fast path: only translate if there are overrides
  	if len(a.endpoints) > 0 {
  		p := strings.SplitN(method, ".", 2)
  		if e := a.endpoints[p[0]]; e != "" {
  			method = e + "." + p[1]
  		}
  	}
  	a.endpointsLock.RUnlock()
  	return a.delegate.RPC(method, args, reply)
  }
docs: // RPC is used to make an RPC call to the Consul servers
  // This allows the agent to implement the Consul.Interface