fileSystem.cwd(parent.path());  InputStream in = fileSystem.retrieveFileStream(getName()); int i = in.available(); data = new byte[i]; in.read(data);
fileSystem.chdir(parent.path()); data = fileSystem.get(getName());
    public synchronized void read(long fileOffset, ByteBuffer dest) throws IOException {        try {            if(data == null){                synchronized(fileSystem) {                    fileSystem.cwd(parent.path());                    //data = fileSystem.get(getName());                    InputStream in = fileSystem.retrieveFileStream(getName());                    int i = in.available();                    data = new byte[i];                    in.read(data);                }            }            int len = dest.remaining();            len = Math.min(len,(int) (data.length - fileOffset));            if(len > 0){                dest.put(data, (int) fileOffset, len);            }        }catch(Exception e){            throw new IOException("Read error");        }    }