code: public int execute() throws IOException, InterruptedException
      {
          for ( BuildPlatform platform: buildPlatforms ) 
          {
              for ( BuildConfiguration configuration : platform.getConfigurations() ) 
              {
                  int exitCode = runMSBuild( platform.getName(), configuration.getName() );
                  if ( exitCode != 0 )
                  {
                      return exitCode;
                  }
              }
          }
          return 0;
      }
docs: Execute the build.
  The function assumes that at least 1 platform configuration has been provided
  in a list via {@link #setPlatforms(List)}.
  @throws IOException if there is a problem executing MSBuild
  @throws InterruptedException if execution is interrupted