public override void delete()
{
if (!exists()) return;
if (m_file is DirectoryInfo)
{
List kids = list();
for (int i=0; i<kids.sz(); i++)
(kids.get(i) as File).delete();
}
try
{
m_file.Delete();
m_file.Refresh();
}
catch (System.Exception e)
{
throw IOErr.make("Cannot delete: " + m_file, e).val;
}
}