code: @Override
      public IQueueMessage<ID, DATA> take() throws QueueException.EphemeralIsFull {
          try {
              MessageConsumer consumer = getMessageConsumer();
              synchronized (consumer) {
                  // Message message = consumer.receiveNoWait();
                  Message message = consumer.receive(1000);
                  if (message instanceof BytesMessage) {
                      BytesMessage msg = (BytesMessage) message;
                      byte[] buff = new byte[(int) msg.getBodyLength()];
                      msg.readBytes(buff);
                      return deserialize(buff);
                  } else {
                      return null;
                  }
              }
          } catch (Exception e) {
              throw e instanceof QueueException ? (QueueException) e : new QueueException(e);
          }
      }
docs: {@inheritDoc}
  
  @throws QueueException.EphemeralIsFull
  if the ephemeral storage is full