anchor.diff:      %[1]s second --latest`)
   )
   
  +func NewMineOptions(streams genericclioptions.IOStreams) *MineOptions {
  +  return &MineOptions{
  +    PrintFlags: genericclioptions.NewPrintFlags("this message is printed on command success").WithTypeSetter(scheme.Scheme), // here we instantiate our PrintFlags		
  +
  +    mineLatest: true, // perform flag defaulting here
  +    IOStreams: streams,
  +  }
  +}
  +
   // NewCmdMine implement the OpenShift cli mine command.
  -func NewCmdMine(name, fullName string, f *clientcmd.Factory, out io.Writer) *cobra.Command {
  -  options := &MineOptions{}
  +func NewCmdMine(name, fullName string, f *clientcmd.Factory, streams genericclioptions.IOStreams) *cobra.Command {
  +  o := NewMineOptions(streams)
     cmd := &cobra.Command{
       Use:     fmt.Sprintf("%s [--latest]", name),
       Short:   "Run my command",
       Long:    mineLong,
       Example: fmt.Sprintf(mineExample, fullName),
       Run: func(cmd *cobra.Command, args []string) {
  -      if err := options.Complete(f, cmd, args, out); err != nil { (6)
  -        cmdutil.CheckErr(err)
  -      }
  -      if err := options.Validate(args); err != nil { (7)
  -        cmdutil.CheckErr(cmdutil.UsageErrorf(cmd, err.Error()))
  -      }
  -      if err := options.RunDeploy(); err != nil { (8)
  -        cmdutil.CheckErr(err) (9)
  -      }
  +      kcmdutil.CheckErr(o.Complete(f, cmd, args))
  +      kcmdutil.CheckErr(o.Validate())
  +      kcmdutil.CheckErr(o.Run())
       },
     }
  -  cmd.Flags().BoolVar(&options.mineLatest, "latest", false, "Use latest stuff")
  +
  +  // always use <Type>Var cobra methods, as they allow us to bind flag values
  +  // directly to struct fields by passing their address as the first parameter.
  +  cmd.Flags().BoolVar(&o.mineLatest, "latest", o.mineLatest, "Use latest stuff")
  +
  +  // make sure to bind any printing flags if the command makes use of the printing stack
  +  o.PrintFlags.AddFlags(cmd)
     return cmd
   }
   
   // Complete completes all the required options for mine.
  -func (o *MineOptions) Complete(f *clientcmd.Factory, cmd *cobra.Command, args []string, out io.Writer) error {
  +func (o *MineOptions) Complete(f *clientcmd.Factory, cmd *cobra.Command, args []string) error { 
  +  // obtain a printer from our PrintFlags
  +  var err error
  +  o.Printer, err = o.PrintFlags.ToPrinter()
  +  return err
  +}
  +
  +// Validate validates all the required options for mine.
  +func (o *MineOptions) Validate() error {
     return nil
   }
   
  -// Validate validates all the required options for mine.
  -func (o MineOptions) Validate() error {
  +// Run implements all the necessary functionality for mine.
  +func (o *MineOptions) Run() error {
     return nil
   }
  -
  -// RunMine implements all the necessary functionality for mine.
  -func (o MineOptions) RunMine() error {
  -  return nil
  -}
  -----
  -====
  -
  -Notice that this is not a mandatory structure and not every command is implemented this way (specially in regarding to the "holding" struct and its methods), but this is a nice convention so try to be compliant with it.
  +----
  +====
   
   === Writing Usage
   
  -When writing an usage string, make sure you cover the most important path for the given command. Use the following conventions:
  +When writing a usage string, make sure you cover the most important path for the given command. Use the following conventions:
   
   * Arguments and flag values names in upper case, e.g. `RESOURCE`, `-n NAME`.
   * Optional arguments or flags between brackets, e.g. `[RESOURCE]`, `[-f FILENAME]`.
  
positive.code: 
  * https://github.com/openshift/origin/tree/master/pkg/cmd[pkg/cmd]
  ** https://github.com/openshift/origin/tree/master/pkg/cmd/openshift[pkg/cmd/openshift] - `openshift` or `origin` command.
  ** https://github.com/openshift/origin/tree/master/pkg/cmd/admin[pkg/cmd/admin] - `oc adm` or `oadm` or `openshift admin` command.
  ** https://github.com/openshift/origin/tree/master/pkg/cmd/infra[pkg/cmd/infra]
  *** https://github.com/openshift/origin/tree/master/pkg/cmd/infra/builder[pkg/cmd/infra/builder] - `openshift-sti-build` and `openshift-docker-build` commands.
  *** https://github.com/openshift/origin/tree/master/pkg/cmd/infra/deployer[pkg/cmd/infra/deployer] - `openshift-deploy` command.
  
negative.code: import (
    // other imports...
    kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
    cmdutil "github.com/openshift/origin/pkg/oc/util"
  )
  ----
  ====
  