Use a Concat method to aggregate Collection pages.
diff --git a/openstack/identity/v3/endpoints/results.go b/openstack/identity/v3/endpoints/results.go
index d3068df..e972404 100644
--- a/openstack/identity/v3/endpoints/results.go
+++ b/openstack/identity/v3/endpoints/results.go
@@ -30,6 +30,14 @@
 	return gophercloud.NewLinkPager(list)
 }
 
+// Concat adds the contents of another Collection to this one.
+func (list EndpointList) Concat(other gophercloud.Collection) gophercloud.Collection {
+	return EndpointList{
+		client:    list.client,
+		Endpoints: append(list.Endpoints, AsEndpoints(other)...),
+	}
+}
+
 // Service returns the ServiceClient used to acquire this list.
 func (list EndpointList) Service() *gophercloud.ServiceClient {
 	return list.client