func (f *StringFlag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.StringFlag.Apply(set)
}
Apply saves the flagSet for later usage calls, then calls
the wrapped StringFlag.Apply
package altsrc
import (
	"flag"
	"github.com/urfave/cli/v2"
)
type BoolFlag struct {
	*cli.BoolFlag
	set *flag.FlagSet
}
func NewBoolFlag(fl *cli.BoolFlag) *BoolFlag {
	return &BoolFlag{BoolFlag: fl, set: nil}
}
func (f *BoolFlag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.BoolFlag.Apply(set)
}
type DurationFlag struct {
	*cli.DurationFlag
	set *flag.FlagSet
}
func NewDurationFlag(fl *cli.DurationFlag) *DurationFlag {
	return &DurationFlag{DurationFlag: fl, set: nil}
}
func (f *DurationFlag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.DurationFlag.Apply(set)
}
type Float64Flag struct {
	*cli.Float64Flag
	set *flag.FlagSet
}
func NewFloat64Flag(fl *cli.Float64Flag) *Float64Flag {
	return &Float64Flag{Float64Flag: fl, set: nil}
}
func (f *Float64Flag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.Float64Flag.Apply(set)
}
type GenericFlag struct {
	*cli.GenericFlag
	set *flag.FlagSet
}
func NewGenericFlag(fl *cli.GenericFlag) *GenericFlag {
	return &GenericFlag{GenericFlag: fl, set: nil}
}
func (f *GenericFlag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.GenericFlag.Apply(set)
}
type Int64Flag struct {
	*cli.Int64Flag
	set *flag.FlagSet
}
func NewInt64Flag(fl *cli.Int64Flag) *Int64Flag {
	return &Int64Flag{Int64Flag: fl, set: nil}
}
func (f *Int64Flag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.Int64Flag.Apply(set)
}
type IntFlag struct {
	*cli.IntFlag
	set *flag.FlagSet
}
func NewIntFlag(fl *cli.IntFlag) *IntFlag {
	return &IntFlag{IntFlag: fl, set: nil}
}
func (f *IntFlag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.IntFlag.Apply(set)
}
type IntSliceFlag struct {
	*cli.IntSliceFlag
	set *flag.FlagSet
}
func NewIntSliceFlag(fl *cli.IntSliceFlag) *IntSliceFlag {
	return &IntSliceFlag{IntSliceFlag: fl, set: nil}
}
func (f *IntSliceFlag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.IntSliceFlag.Apply(set)
}
type Int64SliceFlag struct {
	*cli.Int64SliceFlag
	set *flag.FlagSet
}
func NewInt64SliceFlag(fl *cli.Int64SliceFlag) *Int64SliceFlag {
	return &Int64SliceFlag{Int64SliceFlag: fl, set: nil}
}
func (f *Int64SliceFlag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.Int64SliceFlag.Apply(set)
}
type Float64SliceFlag struct {
	*cli.Float64SliceFlag
	set *flag.FlagSet
}
func NewFloat64SliceFlag(fl *cli.Float64SliceFlag) *Float64SliceFlag {
	return &Float64SliceFlag{Float64SliceFlag: fl, set: nil}
}
func (f *Float64SliceFlag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.Float64SliceFlag.Apply(set)
}
type StringFlag struct {
	*cli.StringFlag
	set *flag.FlagSet
}
func NewStringFlag(fl *cli.StringFlag) *StringFlag {
	return &StringFlag{StringFlag: fl, set: nil}
}