BTW one minor nitpick, do args.length < 4 instead of !(args.length > 4)