code: public static Option[] expand( final Option... options )
      {
          final List<Option> expanded = new ArrayList<Option>();
          if( options != null )
          {
              for( Option option : options )
              {
                  if( option != null )
                  {
                      if( option instanceof CompositeOption )
                      {
                          expanded.addAll( Arrays.asList( ( (CompositeOption) option ).getOptions() ) );
                      }
                      else
                      {
                          expanded.add( option );
                      }
                  }
              }
          }
          return expanded.toArray( new Option[expanded.size()] );
      }
docs: Expand options to one level by expanding eventual {@link CompositeOption}. During this process null options are
  eliminated.
  
  @param options options to be expanded (can be null or an empty array)
  
  @return expanded options (never null). In case that the options to be expanded is null an empty array is returned