package com.bungleton.yarrgs;

import java.io.File;
import java.util.List;

public class cp
{
    public boolean recursive;

    @Positional(0) @Unmatched
    public List<File> sourceFiles;

    @Positional(-1)
    public File destination;
}

@@ -95,148 +95,611 @@
     
-public boolean recursive;%0A%0A    @Positional(0) @Unmatched%0A    public List%3CFile%3E sourceFiles;%0A%0A    @Positional(-1)%0A    public File destination;
+@Usage(%22Should subdirectories of directores in sourceFiles be copied%22)%0A    public boolean recursive;%0A%0A    @Usage(%22Files and directories to be copied%22) @Positional(0) @Unmatched%0A    public List%3CFile%3E sourceFiles;%0A%0A    @Usage(%22Directory to which sourceFiles should be copied%22) @Positional(-1)%0A    public File destination;%0A%0A    public static void main (String%5B%5D args)%0A    %7B%0A        cp cp = Yarrgs.parseInMain(cp.class, args);%0A        System.out.println(%22Recursive: %22 + cp.recursive);%0A        System.out.println(%22Source files: %22 + cp.sourceFiles);%0A        System.out.println(%22Dest: %22 + cp.destination);%0A    %7D
 %0A%7D%0A

Add some usage and a main to let me use this as an example