### Question:
DefaultExecutionContextResolverFactory implements DehydratedExecutionContextResolverFactory { @Override public <T,B> DehydratedExecutionContextResolver<T, B>[] resolvers(Protocol protocol) { if (protocol == Protocol.SOAP) { return new DehydratedExecutionContextResolver[] { (DehydratedExecutionContextResolver<T, B>) new SoapIdentityTokenResolver(), (DehydratedExecutionContextResolver<T, B>) new HttpLocationResolver<>(geoIPLocator, geoLocationDeserializer, inferredCountryResolver), (DehydratedExecutionContextResolver<T, B>) new HttpReceivedTimeResolver<>(), (DehydratedExecutionContextResolver<T, B>) new HttpRequestedTimeResolver<>(requestTimeResolver), (DehydratedExecutionContextResolver<T, B>) new HttpRequestUuidResolver<>(uuidHeader, uuidParentsHeader), (DehydratedExecutionContextResolver<T, B>) new HttpTraceLoggingResolver<>(), (DehydratedExecutionContextResolver<T, B>) new HttpTransportStrengthResolver<>(unknownCipherKeyLength) }; } if (protocol.underlyingTransportIsHttp()) { return new DehydratedExecutionContextResolver[] { (DehydratedExecutionContextResolver<T, B>) new HttpIdentityTokenResolver(), (DehydratedExecutionContextResolver<T, B>) new HttpLocationResolver<>(geoIPLocator, geoLocationDeserializer, inferredCountryResolver), (DehydratedExecutionContextResolver<T, B>) new HttpReceivedTimeResolver<>(), (DehydratedExecutionContextResolver<T, B>) new HttpRequestedTimeResolver<>(requestTimeResolver), (DehydratedExecutionContextResolver<T, B>) new HttpRequestUuidResolver<>(uuidHeader, uuidParentsHeader), (DehydratedExecutionContextResolver<T, B>) new HttpTraceLoggingResolver<>(), (DehydratedExecutionContextResolver<T, B>) new HttpTransportStrengthResolver<>(unknownCipherKeyLength) }; } return null; }  @ManagedAttribute int getUnknownCipherKeyLength(); void setUnknownCipherKeyLength(int unknownCipherKeyLength); void setRequestTimeResolver(RequestTimeResolver<HttpServletRequest> requestTimeResolver); void setGeoIPLocator(GeoIPLocator geoIPLocator); void setGeoLocationDeserializer(GeoLocationDeserializer geoLocationDeserializer); void setInferredCountryResolver(InferredCountryResolver<HttpServletRequest> inferredCountryResolver); void setUuidHeader(String uuidHeader); void setUuidParentsHeader(String uuidParentsHeader); @Override DehydratedExecutionContextResolver<T, B>[] resolvers(Protocol protocol); @Override String getName();  }### Answer:
@Test public void returnsSoapSpecific() { DefaultExecutionContextResolverFactory factory = new DefaultExecutionContextResolverFactory(); DehydratedExecutionContextResolver<HttpCommand,OMElement>[] resolvers = factory.resolvers(Protocol.SOAP); assertTrue(resolvers[0] instanceof SoapIdentityTokenResolver); }
@Test public void otherHttp() { DefaultExecutionContextResolverFactory factory = new DefaultExecutionContextResolverFactory(); DehydratedExecutionContextResolver<HttpCommand,Void>[] resolvers = factory.resolvers(Protocol.RESCRIPT); assertTrue(resolvers[0] instanceof HttpIdentityTokenResolver); }
@Test public void nonHttp() { DefaultExecutionContextResolverFactory factory = new DefaultExecutionContextResolverFactory(); DehydratedExecutionContextResolver<?,?>[] resolvers = factory.resolvers(Protocol.SOCKET); assertNull(resolvers); }