public static < T extends CitrusAppConfiguration > T apply ( T configuration , String [ ] arguments ) { LinkedList < String > args = new LinkedList <> ( Arrays . asList ( arguments ) ) ; CitrusAppOptions options = new CitrusAppOptions ( ) ; while ( ! args . isEmpty ( ) ) { String arg = args . removeFirst ( ) ; for ( CliOption option : options . options ) { if ( option . processOption ( configuration , arg , args ) ) { break ; } } } return configuration ; }
Apply options based on given argument line .