provider.lock(this);
try {
if(!super.exists() && !super.createNewFile()) {
throw new IOException("can't create file "+this);
}
return new BufferedOutputStream(new ResourceOutputStream(this,new FileOutputStream(this,append)));
}
catch(IOException ioe) {
provider.unlock(this);
throw ioe;
}