code: public static void main(String[] args) throws Exception {
        BufferedInputStream in = null;
        BufferedOutputStream out = null;
        boolean validate = true;
        if (args == null || args.length == 0) {
           // assume stream
           in = new BufferedInputStream(System.in);
           out = new BufferedOutputStream(System.out);
           PrintStream ps = new PrintStream(new File("system.out"));
           System.setOut(ps);
  
        } else {
           String input=null, output=null;
           for (String s : args) {
              if (NOVALIDATE.equals(s)) {
                 validate = false;
              } else if (input==null) {
                 input = s;
              } else {
                 output = s;
              }
           }
           in = (input==null)?new BufferedInputStream(System.in):new BufferedInputStream(new FileInputStream(input));
           out = (output==null) ? new BufferedOutputStream(System.out) : new BufferedOutputStream(new FileOutputStream(output));
           if (output==null) {
              PrintStream ps = new PrintStream(new File("system.out"));
              System.setOut(ps);
           }
        }
  
        System.out.println(USAGE);
  
        transform(in, out, validate);
  
        out.close();
  
     }
docs: Calls {@link #transform(java.io.InputStream, java.io.OutputStream, boolean) }.
  
  @param args {@link #NOVALIDATE -novalidate} indicates no css input validation, the first optional other argument is the css input file,
  the second optional argument is the output file.
  @throws Exception