class SessionIdentifier {

    @Override
    public boolean equals(final Object other) {
        if (this == other) {
            return true;
        }
        if (other == null || getClass() != other.getClass()) {
            return false;
        }

        final SessionIdentifier that = (SessionIdentifier) other;

        if (userId != that.userId) {
            return false;
        }

        if (context != that.context) {
            return false;
        }
        return sessionId.equals(that.sessionId);
    }

    public  SessionIdentifier(
        final long userId,
        @NotNull final String sessionId,
        @NotNull final Context context
    );

}