code: protected String getRemoteAddress(ContainerRequestContext request) {
          String ip = null;
          if (realIpHeader != null && realIpHeader.length() != 0) {
              ip = request.getHeaderString(realIpHeader);
          }
          if (StringUtils.isBlank(ip)) {
              ip = request.getHeaderString("x-forwarded-for");
              if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) {
                  ip = request.getHeaderString("Proxy-Client-IP");
              }
              if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) {
                  ip = request.getHeaderString("WL-Proxy-Client-IP");
              }
              if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) {
                  ip = "unknown";
              }
          }
          return ip;
      }
docs: <p>getRemoteAddress.</p>
  
  @param request a {@link javax.ws.rs.container.ContainerRequestContext} object.
  @return a {@link java.lang.String} object.