func (r IntrospectionPage) NextPageURL() (string, error) {
	var s struct {
		Links []gophercloud.Link `json:"introspection_links"`
	}
	err := r.ExtractInto(&s)
	if err != nil {
		return "", err
	}
	return gophercloud.ExtractNextURL(s.Links)
}
NextPageURL uses the response's embedded link reference to navigate to the
next page of results.
package introspection
import (
	"encoding/json"
	"fmt"
	"time"
	"github.com/gophercloud/gophercloud"
	"github.com/gophercloud/gophercloud/pagination"
)
type introspectionResult struct {
	gophercloud.Result
}
func (r introspectionResult) Extract() (*Introspection, error) {
	var s Introspection
	err := r.ExtractInto(&s)
	return &s, err
}
func (r introspectionResult) ExtractInto(v interface{}) error {
	return r.Result.ExtractIntoStructPtr(v, "")
}
func ExtractIntrospectionsInto(r pagination.Page, v interface{}) error {
	return r.(IntrospectionPage).Result.ExtractIntoSlicePtr(v, "introspection")
}
func ExtractIntrospections(r pagination.Page) ([]Introspection, error) {
	var s []Introspection
	err := ExtractIntrospectionsInto(r, &s)
	return s, err
}
type IntrospectionPage struct {
	pagination.LinkedPageBase
}
type Introspection struct {
	Finished bool `json:"finished"`
	State string `json:"state"`
	Error string `json:"error"`
	UUID string `json:"uuid"`
	StartedAt time.Time `json:"-"`
	FinishedAt time.Time `json:"-"`
	Links []interface{} `json:"links"`
}
func (r IntrospectionPage) IsEmpty() (bool, error) {
	s, err := ExtractIntrospections(r)
	return len(s) == 0, err
}