code: @Override
  	public Number readNumber() {
  		int remaining = buf.remaining();
  		log.debug("readNumber from {} bytes", remaining);
  		// look to see if big enough for double
  		if (remaining >= 8) {
  			double d = buf.getDouble();
  			log.debug("Number: {}", d);
  			return d;
  		}
  		if (log.isDebugEnabled()) {
  			log.debug(
  					"Remaining not big enough for number - offset: {} limit: {} {}",
  					buf.position(), buf.limit(),
  					Hex.encodeHexString(buf.array()));
  		}
  		return 0;
  	}
docs: Reads a Number. In ActionScript 1 and 2 Number type represents all
  numbers, both floats and integers.
  
  @return Number