title: Interface as fields in struct and interface calls methods which takes input as same struct
body: <p>In my case, "RequestHandlerProxy" is a structure which has field as interface "IAdapter" and interface has may methods to be called that method has input as structure "RequestHandlerProxy". Please help me how to work with this? How can I define values to struct "RequestHandlerProxy" and pass through?</p>
  
  <p>Below is my structure and methods of interface: Interface "IAdapter" is in file "adapters"</p>
  
  <pre><code>type RequestHandlerProxy struct {
      TestMode       bool
      coreInstanceId string
      adapter        adapters.IAdapter
      coreProxy      adapterif.CoreProxy
  }
  
  func NewRequestHandlerProxy(coreInstanceId string, iadapter adapters.IAdapter, cProxy adapterif.CoreProxy) *RequestHandlerProxy {
      var proxy RequestHandlerProxy
      proxy.coreInstanceId = coreInstanceId
      proxy.adapter = iadapter
      proxy.coreProxy = cProxy
      return &amp;proxy
  }
  
  func (rhp *RequestHandlerProxy) Adapter_descriptor() (*empty.Empty, error) {
      return new(empty.Empty), nil    
  }
  
  func (rhp *RequestHandlerProxy) Device_types() (*voltha.DeviceTypes, error) {
      return nil, nil
  }
  
  func (rhp *RequestHandlerProxy) Health() (*voltha.HealthStatus, error) {    
      return nil, nil
  }
  </code></pre>
  
  <p>Below is my interface in adapters file:</p>
  
  <pre><code>type IAdapter interface {
      Adapter_descriptor() error
      Device_types() (*voltha.DeviceTypes, error)
      Health() (*voltha.HealthStatus, error)
  }
  </code></pre>