code: public boolean updateAttribute(Attribute attribute)
        throws IllegalStateException {
      if (this.terminated) {
        throw new IllegalStateException(
            "Cannot send solutions to the World Model once the connection has been destroyed.");
      }
  
      if (this.canSend) {
        return this.wmi.updateAttribute(attribute);
      }
      return this.attributeBuffer.offer(attribute);
    }
docs: Sends a single attribute value update to the world model, or buffers it to
  be sent later if the World Model is not connected.
  
  @param attribute
  the Attribute value to send.
  @return {@code true} if the solution was sent immediately or buffered, and
  {@code false} if it was unable to be sent or buffered.
  @throws IllegalStateException
  if this method is called once the world model connection has been
  destroyed.