The method above should be guarded by the profile monitor because it is really memory and i/o intensive.