func FromID(client *govmomi.Client, id string) (*object.VirtualApp, error) {
	log.Printf("[DEBUG] Locating vApp container with ID %s", id)
	finder := find.NewFinder(client.Client, false)

	ref := types.ManagedObjectReference{
		Type:  "VirtualApp",
		Value: id,
	}

	ctx, cancel := context.WithTimeout(context.Background(), provider.DefaultAPITimeout)
	defer cancel()
	obj, err := finder.ObjectReference(ctx, ref)
	if err != nil {
		return nil, err
	}
	log.Printf("[DEBUG] vApp container found: %s", obj.Reference().Value)
	return obj.(*object.VirtualApp), nil
}
func FromID(client *govmomi.Client, id string) (*object.VirtualApp, error) {
	log.Printf("[DEBUG] Locating vApp container with ID %s", id)
	finder := find.NewFinder(client.Client, false)

	ref := types.ManagedObjectReference{
		Type:  "VirtualApp",
		Value: id,
	}

	ctx, cancel := context.WithTimeout(context.Background(), provider.DefaultAPITimeout)
	defer cancel()
	obj, err := finder.ObjectReference(ctx, ref)
	if err != nil {
		return nil, err
	}
	log.Printf("[DEBUG] vApp container found: %s", obj.Reference().Value)
	return obj.(*object.VirtualApp), nil
}
// FromID locates a VirtualApp by its managed object reference ID.