class HttpResponseStatus {

    public static HttpResponseStatus of(final int statusCode, final String reasonPhrase) {
        final HttpResponseStatus cached = valueOf(statusCode);
        if (cached != null && (reasonPhrase.isEmpty() || cached.reasonPhrase.equals(reasonPhrase))) {
            return cached;
        }
        return new HttpResponseStatus(statusCode, reasonPhrase);
    }

    private  HttpResponseStatus(final int statusCode, final String reasonPhrase);

}