public boolean fetchAll(InputStream is) throws IOException {
		//Decoder dec = new Decoder(sr,0,msglen);
		while(true) {
			int asrlen = objectLen();
			if(DEBUG)System.out.println("Object size="+asrlen+"; Buffer size="+data.length+"; Current size="+length);
			if((asrlen>0) && (asrlen>data.length)){
				System.out.println("Object size="+asrlen+"; Buffer size="+data.length);
				return false;
			}
			if ((asrlen<0) || (length < asrlen)) {
				if(DEBUG)System.out.println("Object size="+asrlen+"; Current size="+length);
				if(length == data.length) return false;
				int inc = is.read(data, length, data.length-length);
				if(inc == 0) return false;
				length += inc;
				//dec = new Decoder(data,0,length);
				continue;
			}
			break;
		}
		return true;
	}