func (f SoftLayerFinder) findInVirtualGuestDeviceTemplateGroups(uuid string, accountService sl.SoftLayer_Account_Service) (Stemcell, bool, error) {
	vgdtgGroups, err := accountService.GetBlockDeviceTemplateGroups()
	if err != nil {
		return nil, false, bosherr.WrapError(err, "Getting virtual guest device template groups")
	}

	for _, vgdtgGroup := range vgdtgGroups {
		if vgdtgGroup.GlobalIdentifier == uuid {
			return NewSoftLayerStemcell(vgdtgGroup.Id, vgdtgGroup.GlobalIdentifier, VirtualGuestDeviceTemplateGroupKind, f.client, f.logger), true, nil
		}
	}

	return nil, false, nil
}
					_, err := accountService.GetSshKeys()
					Expect(err).To(HaveOccurred())
				}
			})
		})

	})

	Context("#GetBlockDeviceTemplateGroups", func() {
		BeforeEach(func() {
			fakeClient.FakeHttpClient.DoRawHttpRequestResponse, err = testhelpers.ReadJsonTestFixtures("services", "SoftLayer_Account_Service_getBlockDeviceTemplateGroups.json")
			Expect(err).ToNot(HaveOccurred())
		})

		It("returns an array of datatypes.SoftLayer_Virtual_Guest_Block_Device_Template_Group", func() {
			groups, err := accountService.GetBlockDeviceTemplateGroups()
			Expect(err).ToNot(HaveOccurred())
			Expect(groups).ToNot(BeNil())
		})

		Context("when HTTP client returns error codes 40x or 50x", func() {
			It("fails for error code 40x", func() {
				errorCodes := []int{400, 401, 499}
				for _, errorCode := range errorCodes {
					fakeClient.FakeHttpClient.DoRawHttpRequestInt = errorCode

					_, err := accountService.GetBlockDeviceTemplateGroups()
					Expect(err).To(HaveOccurred())
				}
			})