public Builder addInterceptorBefore(final String subsequentInterceptorName, final String nameOfInterceptor,
                                            final RequestInterceptor interceptor) {
            final int index = getInterceptorIndex(subsequentInterceptorName);
            if (INTERCEPTOR_NOT_FOUND == index) {
                throw new IllegalArgumentException(subsequentInterceptorName + " interceptor not found");
            } else if (getInterceptorIndex(nameOfInterceptor) != INTERCEPTOR_NOT_FOUND) {
                throw new IllegalArgumentException(nameOfInterceptor + " interceptor already exists");
            } else if (index == 0) {
                interceptors.addFirst(Pair.of(nameOfInterceptor, interceptor));
            } else {
                interceptors.add(index - 1, Pair.of(nameOfInterceptor, interceptor));
            }

            return this;
        }
Adds a {@link RequestInterceptor} before another one that will allow manipulation of the {@code HttpRequest}
prior to its being sent to the server.
gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java