func (r EventPage) IsEmpty() (bool, error) {
	events, err := ExtractEvents(r)
	if err != nil {
		return true, err
	}
	return len(events) == 0, nil
}
IsEmpty returns true if a page contains no Server results.
package stackevents
import (
	"time"
	"github.com/mitchellh/mapstructure"
	"github.com/rackspace/gophercloud"
	"github.com/rackspace/gophercloud/pagination"
)
type Event struct {
	ResourceName string `mapstructure:"resource_name"`
	Time time.Time `mapstructure:"-"`
	Links []gophercloud.Link `mapstructure:"links"`
	LogicalResourceID string `mapstructure:"logical_resource_id"`
	ResourceStatusReason string `mapstructure:"resource_status_reason"`
	ResourceStatus string `mapstructure:"resource_status"`
	PhysicalResourceID string `mapstructure:"physical_resource_id"`
	ID string `mapstructure:"id"`
	ResourceProperties map[string]interface{} `mapstructure:"resource_properties"`
}
type FindResult struct {
	gophercloud.Result
}
func (r FindResult) Extract() ([]Event, error) {
	if r.Err != nil {
		return nil, r.Err
	}
	var res struct {
		Res []Event `mapstructure:"events"`
	}
	if err := mapstructure.Decode(r.Body, &res); err != nil {
		return nil, err
	}
	events := r.Body.(map[string]interface{})["events"].([]interface{})
	for i, eventRaw := range events {
		event := eventRaw.(map[string]interface{})
		if date, ok := event["event_time"]; ok && date != nil {
			t, err := time.Parse(time.RFC3339, date.(string))
			if err != nil {
				return nil, err
			}
			res.Res[i].Time = t
		}
	}
	return res.Res, nil
}
type EventPage struct {
	pagination.MarkerPageBase
}