             print("Cannot specify both bundleID(-b) and PID(-p) at the same time.")
             throw SniperError.InvalidArgument
         }
+
         if let pid = pid {
+
             let apps = NSWorkspace.sharedWorkspace().runningApplications
             let filtered = apps.filter {
                 Int($0.processIdentifier) == pid

            self.bundleId = value
        }
    }
    private func terminate(app:NSRunningApplication) {
        print("Terminating \(app.bundleIdentifier ?? UnknownBundleID): \(app.processIdentifier) ...")
        app.terminate()

enum SniperError: ErrorType {
    case InvalidArgument, TargetNotFound
}

class Target: CommandType {
    var commandName:String {
        return "target"
    }

    var commandShortDescription:String {
        return "List all running apps's info."
    }

    var commandSignature:String {
        return "[<keyword>]"
    }

    func execute(arguments: CommandArguments) throws  {
        let keyword = arguments.optionalArgument("keyword")
