throws APIException
{
// Store a list of files that were changed/removed to the repository
List<WorkItem> changedFiles = new ArrayList<WorkItem>();
// Setup the view sandbox command to figure out what has changed...
Command siViewSandbox = new Command( Command.SI, "viewsandbox" );
// Create the --fields option
MultiValue mv = new MultiValue( "," );
mv.add( "name" );
mv.add( "context" );
mv.add( "wfdelta" );
mv.add( "memberarchive" );
siViewSandbox.addOption( new Option( "fields", mv ) );
siViewSandbox.addOption( new Option( "recurse" ) );
siViewSandbox.addOption( new Option( "noincludeDropped" ) );
siViewSandbox.addOption( new Option( "filterSubs" ) );
siViewSandbox.addOption( new Option( "cwd", sandboxDir ) );
// Run the view sandbox command
Response r = api.runCommand( siViewSandbox );
// Check-in all changed files, drop all members with missing working files
for ( WorkItemIterator wit = r.getWorkItems(); wit.hasNext(); )