Could someone please help me to spot whats wrong here?

```
accessor.Dispose();

```

Causes compiler error but only in the Read method. Write compiles fine without Read so im puzzled...

```
    public bool Read(ref byte[] bytes)
    {
        MemoryMappedViewAccessor accessor;
        Lock.WaitOne();
        try
        {                
            accessor = Mmf.CreateViewAccessor(0, DataLength);
            bytes = new byte[DataLength];
            accessor.ReadArray<byte>(0, bytes, 0, DataLength);                
        }
        catch
        {
            return false;
        }
        finally
        {
            accessor.Dispose();
            Lock.ReleaseMutex();
        }

        return true;
    }

    public bool Write(byte[] bytes)
    {
        MemoryMappedViewAccessor accessor;
        Lock.WaitOne();
        try
        {
            DataLength = bytes.Length;
            accessor = Mmf.CreateViewAccessor(0, bytes.Length);
            accessor.WriteArray<byte>(0, bytes, 0, bytes.Length);
        }
        catch
        {
            return false;
        }
        finally
        {
            Dispose();
            Lock.ReleaseMutex();
        }
        return true;
    }

```