public byte[] open(byte[] data) throws IOException, ChannelOpenException {
try {
ByteArrayReader reader = new ByteArrayReader(data);
name = reader.readString();
launchId = reader.readString();
filename = reader.readString();
LaunchSession launchSession = LaunchSessionFactory.getInstance().getLaunchSession(launchId);
if (launchSession == null) {
throw new ChannelOpenException(ChannelOpenException.CHANNEL_REFUSED, "No launch session with ID " + launchId + ", cannot read file " + filename + " for " + name);