code: func (n *graphNodeImportStateSub) EvalTree() EvalNode {
  	// If the Ephemeral type isn't set, then it is an error
  	if n.State.TypeName == "" {
  		err := fmt.Errorf("import of %s didn't set type", n.TargetAddr.String())
  		return &EvalReturnError{Error: &err}
  	}
  
  	state := n.State.AsInstanceObject()
  
  	var provider providers.Interface
  	var providerSchema *ProviderSchema
  	return &EvalSequence{
  		Nodes: []EvalNode{
  			&EvalGetProvider{
  				Addr:   n.ResolvedProvider,
  				Output: &provider,
  				Schema: &providerSchema,
  			},
  			&EvalRefresh{
  				Addr:           n.TargetAddr.Resource,
  				ProviderAddr:   n.ResolvedProvider,
  				Provider:       &provider,
  				ProviderSchema: &providerSchema,
  				State:          &state,
  				Output:         &state,
  			},
  			&EvalImportStateVerify{
  				Addr:  n.TargetAddr.Resource,
  				State: &state,
  			},
  			&EvalWriteState{
  				Addr:           n.TargetAddr.Resource,
  				ProviderAddr:   n.ResolvedProvider,
  				ProviderSchema: &providerSchema,
  				State:          &state,
  			},
  		},
  	}
  }
docs: // GraphNodeEvalable impl.