code: public static Option[] combine( final Option[] options1,
                                      final Option... options2 )
      {
          int size1 = 0;
          if( options1 != null && options1.length > 0 )
          {
              size1 += options1.length;
          }
          int size2 = 0;
          if( options2 != null && options2.length > 0 )
          {
              size2 += options2.length;
          }
          final Option[] combined = new Option[size1 + size2];
          if( size1 > 0 )
          {
              System.arraycopy( options1, 0, combined, 0, size1 );
          }
          if( size2 > 0 )
          {
              System.arraycopy( options2, 0, combined, size1, size2 );
          }
          return combined;
      }
docs: Combines two arrays of options in one array containing both provided arrays in order they are provided.
  
  @param options1 array of options (can be null or empty array)
  @param options2 array of options (can be null or empty array)
  
  @return combined array of options (never null). In case that both arrays are null or empty an empty array is
  returned