throw new UnimplementedException("erase");
try {  if (offset < 0) { offset = 0; }  switch (_type) { case OracleModule.OCI_D_FILE: break; case OracleModule.OCI_D_LOB: if (_lob instanceof Blob) { Blob blob = (Blob) _lob; if (_outputStream != null) { _outputStream.close(); } _outputStream = blob.setBinaryStream(offset); long blobLength = blob.length(); if ((length < 0) || (offset + length > blobLength)) { length = blobLength - offset; } long remaining = length; byte zeroBuffer[] = new byte[128]; while (remaining >= 128) { _outputStream.write(zeroBuffer, 0, 128); remaining -= 128; } if (remaining > 0) { _outputStream.write(zeroBuffer, 0, (int) remaining); } } else if (_lob instanceof Clob) { Clob clob = (Clob) _lob; if (_writer != null) { _writer.close(); } _writer = clob.setCharacterStream(offset); long clobLength = clob.length(); if ((length < 0) || (offset + length > clobLength)) { length = clobLength - offset; } long remaining = length; char spaceBuffer[] = new char[128]; while (remaining >= 128) { _writer.write(spaceBuffer, 0, 128); remaining -= 128; } if (remaining > 0) { _writer.write(spaceBuffer, 0, (int) remaining); } } _currentPointer = offset + length; break; case OracleModule.OCI_D_ROWID: break; }  if (length > 0) { return LongValue.create(length); }  } catch (Exception ex) { log.log(Level.FINE, ex.toString(), ex); }  return null;
  public LongValue erase(Env env,                         @Optional("0") int offset,                         @Optional("-1") int length)  {    throw new UnimplementedException("erase");  }