code: protected final boolean tryClose(Throwable cause) {
          if (setState(State.OPEN, State.CLOSED)) {
              addObjectOrEvent(new CloseEvent(cause));
              return true;
          }
          return false;
      }
docs: Tries to close the stream with the specified {@code cause}.
  
  @return {@code true} if the stream has been closed by this method call.
  {@code false} if the stream has been closed already by other party.