| ExchangeAttributeParserTest |  | 0% | | n/a | 46 | 46 | 380 | 380 | 46 | 46 | 1 | 1 |
| ExchangeAttributeReadTest |  | 0% |  | 0% | 42 | 42 | 172 | 172 | 33 | 33 | 1 | 1 |
| ExchangeAttributeWriteTest |  | 0% |  | 0% | 33 | 33 | 137 | 137 | 27 | 27 | 1 | 1 |
| ResponseTimeAttribute |  | 6% |  | 0% | 11 | 13 | 31 | 35 | 3 | 5 | 0 | 1 |
| RelativePathAttribute |  | 0% |  | 0% | 7 | 7 | 24 | 24 | 4 | 4 | 1 | 1 |
| ExchangeAttributes |  | 5% |  | 0% | 27 | 28 | 30 | 31 | 25 | 26 | 0 | 1 |
| QueryParameterAttribute |  | 6% |  | 0% | 8 | 9 | 22 | 25 | 3 | 4 | 0 | 1 |
| RequestURLAttribute |  | 0% |  | 0% | 7 | 7 | 23 | 23 | 4 | 4 | 1 | 1 |
| PathParameterAttribute |  | 6% |  | 0% | 8 | 9 | 21 | 24 | 3 | 4 | 0 | 1 |
| StoredResponse |  | 6% |  | 0% | 10 | 11 | 23 | 24 | 4 | 5 | 0 | 1 |
| RequestHeaderAttribute |  | 8% |  | 0% | 7 | 8 | 16 | 19 | 3 | 4 | 0 | 1 |
| ResponseHeaderAttribute |  | 8% |  | 0% | 7 | 8 | 16 | 19 | 3 | 4 | 0 | 1 |
| RequestPathAttribute |  | 7% |  | 0% | 4 | 5 | 16 | 17 | 3 | 4 | 0 | 1 |
| CompositeExchangeAttribute |   | 22% |  | 0% | 6 | 7 | 11 | 16 | 3 | 4 | 0 | 1 |
| QuotingExchangeAttribute |  | 0% |  | 0% | 8 | 8 | 15 | 15 | 5 | 5 | 1 | 1 |
| RequestLineAttribute |  | 0% |  | 0% | 5 | 5 | 13 | 13 | 4 | 4 | 1 | 1 |
| QueryStringAttribute |   | 26% |  | 0% | 6 | 8 | 14 | 19 | 3 | 5 | 0 | 1 |
| PredicateContextAttribute |  | 13% |  | 0% | 6 | 7 | 10 | 13 | 3 | 4 | 0 | 1 |
| CookieAttribute |  | 13% |  | 0% | 5 | 6 | 8 | 11 | 3 | 4 | 0 | 1 |
| RequestCookieAttribute |  | 13% |  | 0% | 5 | 6 | 8 | 11 | 3 | 4 | 0 | 1 |
| ResponseCookieAttribute |  | 13% |  | 0% | 5 | 6 | 8 | 11 | 3 | 4 | 0 | 1 |
| DateTimeAttribute |   | 49% |  | 0% | 5 | 9 | 8 | 19 | 3 | 7 | 0 | 1 |
| SslClientCertAttribute |  | 20% |  | 0% | 5 | 7 | 11 | 13 | 3 | 5 | 0 | 1 |
| SubstituteEmptyWrapper.SubstituteEmptyAttribute |  | 0% |  | 0% | 5 | 5 | 10 | 10 | 3 | 3 | 1 | 1 |
| RemoteObfuscatedIPAttribute |  | 14% |  | 0% | 5 | 6 | 9 | 10 | 3 | 4 | 0 | 1 |
| RemoteIPAttribute |  | 14% |  | 0% | 5 | 6 | 9 | 10 | 3 | 4 | 0 | 1 |
| BytesSentAttribute |  | 18% |  | 0% | 5 | 6 | 6 | 9 | 3 | 4 | 0 | 1 |
| BytesReadAttribute |  | 18% |  | 0% | 5 | 6 | 6 | 9 | 3 | 4 | 0 | 1 |
| SslSessionIdAttribute |  | 25% |  | 0% | 5 | 7 | 6 | 8 | 3 | 5 | 0 | 1 |
| RemoteUserAttribute |  | 17% |  | 0% | 5 | 6 | 6 | 7 | 3 | 4 | 0 | 1 |
| SecureProtocolAttribute |  | 29% |  | 0% | 4 | 6 | 4 | 6 | 3 | 5 | 0 | 1 |
| SslCipherAttribute |  | 29% |  | 0% | 4 | 6 | 6 | 8 | 3 | 5 | 0 | 1 |
| AuthenticationTypeExchangeAttribute |  | 30% |  | 0% | 4 | 6 | 6 | 8 | 3 | 5 | 0 | 1 |
| LocalPortAttribute |  | 22% | | n/a | 3 | 4 | 4 | 5 | 3 | 4 | 0 | 1 |
| LocalIPAttribute |  | 22% | | n/a | 3 | 4 | 4 | 5 | 3 | 4 | 0 | 1 |
| DateTimeAttribute.new ThreadLocal() {...} |  | 42% |  | 0% | 2 | 3 | 4 | 5 | 1 | 2 | 0 | 1 |
| SecureExchangeAttribute |  | 36% | | n/a | 3 | 5 | 4 | 6 | 3 | 5 | 0 | 1 |
| RemoteHostAttribute |  | 26% | | n/a | 3 | 4 | 4 | 5 | 3 | 4 | 0 | 1 |
| SubstituteEmptyWrapper |  | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| ConstantExchangeAttribute | | 33% | | n/a | 3 | 4 | 3 | 6 | 3 | 4 | 0 | 1 |
| TransportProtocolAttribute | | 29% | | n/a | 3 | 4 | 3 | 4 | 3 | 4 | 0 | 1 |
| ResponseCodeAttribute | | 29% | | n/a | 3 | 4 | 4 | 5 | 3 | 4 | 0 | 1 |
| RequestProtocolAttribute | | 29% | | n/a | 3 | 4 | 3 | 4 | 3 | 4 | 0 | 1 |
| RequestMethodAttribute | | 29% | | n/a | 3 | 4 | 3 | 4 | 3 | 4 | 0 | 1 |
| LocalServerNameAttribute | | 31% | | n/a | 3 | 4 | 3 | 4 | 3 | 4 | 0 | 1 |
| ResponseReasonPhraseAttribute | | 31% | | n/a | 3 | 4 | 4 | 5 | 3 | 4 | 0 | 1 |
| ThreadNameAttribute | | 31% | | n/a | 3 | 4 | 3 | 4 | 3 | 4 | 0 | 1 |
| HostAndPortAttribute | | 31% | | n/a | 3 | 4 | 3 | 4 | 3 | 4 | 0 | 1 |
| NullAttribute | | 33% | | n/a | 3 | 4 | 3 | 4 | 3 | 4 | 0 | 1 |
| RequestSchemeAttribute | | 33% | | n/a | 3 | 4 | 4 | 5 | 3 | 4 | 0 | 1 |
| ResolvedPathAttribute | | 33% | | n/a | 3 | 4 | 4 | 5 | 3 | 4 | 0 | 1 |
| IdentUsernameAttribute | | 33% | | n/a | 3 | 4 | 3 | 4 | 3 | 4 | 0 | 1 |
| ReadOnlyAttributeException | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| ExchangeAttributeParser |  | 97% |   | 94% | 3 | 33 | 2 | 82 | 0 | 4 | 0 | 1 |
| QuotingExchangeAttribute.Wrapper | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| RelativePathAttribute.Builder |  | 78% |   | 50% | 3 | 6 | 1 | 4 | 1 | 4 | 0 | 1 |
| RequestURLAttribute.Builder |  | 78% |   | 50% | 3 | 6 | 2 | 6 | 1 | 4 | 0 | 1 |
| RequestLineAttribute.Builder |  | 78% |   | 50% | 3 | 6 | 2 | 6 | 1 | 4 | 0 | 1 |
| ResponseTimeAttribute.Builder |  | 95% |  | 100% | 1 | 9 | 1 | 12 | 1 | 4 | 0 | 1 |
| PredicateContextAttribute.Builder |  | 95% |   | 87% | 2 | 8 | 1 | 8 | 1 | 4 | 0 | 1 |
| DateTimeAttribute.Builder |  | 94% |   | 87% | 2 | 8 | 1 | 8 | 1 | 4 | 0 | 1 |
| BytesSentAttribute.Builder |  | 93% |  | 100% | 1 | 7 | 1 | 8 | 1 | 4 | 0 | 1 |
| ResponseCookieAttribute.Builder |  | 93% |   | 75% | 2 | 6 | 1 | 7 | 1 | 4 | 0 | 1 |
| BytesReadAttribute.Builder |  | 93% |  | 100% | 1 | 7 | 1 | 8 | 1 | 4 | 0 | 1 |
| RequestCookieAttribute.Builder |  | 93% |   | 75% | 2 | 6 | 1 | 7 | 1 | 4 | 0 | 1 |
| ResponseHeaderAttribute.Builder |  | 93% |   | 75% | 2 | 6 | 1 | 7 | 1 | 4 | 0 | 1 |
| RequestHeaderAttribute.Builder |  | 93% |   | 75% | 2 | 6 | 1 | 7 | 1 | 4 | 0 | 1 |
| CookieAttribute.Builder |  | 93% |   | 75% | 2 | 6 | 1 | 7 | 1 | 4 | 0 | 1 |
| QueryParameterAttribute.Builder |  | 93% |   | 75% | 2 | 6 | 1 | 7 | 1 | 4 | 0 | 1 |
| PathParameterAttribute.Builder |  | 93% |   | 75% | 2 | 6 | 1 | 7 | 1 | 4 | 0 | 1 |
| QueryStringAttribute.Builder |  | 92% |  | 100% | 1 | 7 | 1 | 8 | 1 | 4 | 0 | 1 |
| LocalIPAttribute.Builder |  | 89% |  | 100% | 1 | 6 | 1 | 6 | 1 | 4 | 0 | 1 |
| RequestMethodAttribute.Builder |  | 89% |  | 100% | 1 | 6 | 1 | 6 | 1 | 4 | 0 | 1 |
| RemoteUserAttribute.Builder |  | 89% |  | 100% | 1 | 6 | 1 | 6 | 1 | 4 | 0 | 1 |
| ResponseCodeAttribute.Builder |  | 89% |  | 100% | 1 | 6 | 1 | 6 | 1 | 4 | 0 | 1 |
| RemoteObfuscatedIPAttribute.Builder |  | 89% |  | 100% | 1 | 6 | 1 | 6 | 1 | 4 | 0 | 1 |
| RemoteIPAttribute.Builder |  | 89% |  | 100% | 1 | 6 | 1 | 6 | 1 | 4 | 0 | 1 |
| LocalPortAttribute.Builder |  | 89% |  | 100% | 1 | 6 | 1 | 6 | 1 | 4 | 0 | 1 |
| RemoteHostAttribute.Builder |  | 89% |  | 100% | 1 | 6 | 1 | 6 | 1 | 4 | 0 | 1 |
| LocalServerNameAttribute.Builder |  | 89% |  | 100% | 1 | 6 | 1 | 6 | 1 | 4 | 0 | 1 |
| ThreadNameAttribute.Builder |  | 89% |  | 100% | 1 | 6 | 1 | 6 | 1 | 4 | 0 | 1 |
| SecureExchangeAttribute.Builder |  | 89% |   | 75% | 2 | 6 | 1 | 6 | 1 | 4 | 0 | 1 |
| RequestProtocolAttribute.Builder |  | 89% |  | 100% | 1 | 6 | 1 | 6 | 1 | 4 | 0 | 1 |
| SslClientCertAttribute.Builder |  | 86% |  | 100% | 1 | 5 | 1 | 6 | 1 | 4 | 0 | 1 |
| AuthenticationTypeExchangeAttribute.Builder |  | 86% |  | 100% | 1 | 5 | 1 | 6 | 1 | 4 | 0 | 1 |
| HostAndPortAttribute.Builder |  | 86% |  | 100% | 1 | 5 | 1 | 6 | 1 | 4 | 0 | 1 |
| SecureProtocolAttribute.Builder |  | 86% |  | 100% | 1 | 5 | 1 | 6 | 1 | 4 | 0 | 1 |
| StoredResponse.Builder |  | 86% |  | 100% | 1 | 5 | 1 | 6 | 1 | 4 | 0 | 1 |
| SslCipherAttribute.Builder |  | 86% |  | 100% | 1 | 5 | 1 | 6 | 1 | 4 | 0 | 1 |
| RequestSchemeAttribute.Builder |  | 86% |  | 100% | 1 | 5 | 1 | 6 | 1 | 4 | 0 | 1 |
| TransportProtocolAttribute.Builder |  | 86% |  | 100% | 1 | 5 | 1 | 6 | 1 | 4 | 0 | 1 |
| ResolvedPathAttribute.Builder |  | 86% |  | 100% | 1 | 5 | 1 | 4 | 1 | 4 | 0 | 1 |
| ResponseReasonPhraseAttribute.Builder |  | 86% |  | 100% | 1 | 5 | 1 | 6 | 1 | 4 | 0 | 1 |
| IdentUsernameAttribute.Builder |  | 86% |  | 100% | 1 | 5 | 1 | 6 | 1 | 4 | 0 | 1 |
| SslSessionIdAttribute.Builder |  | 86% |  | 100% | 1 | 5 | 1 | 6 | 1 | 4 | 0 | 1 |
| NullAttribute.Builder |  | 86% |  | 100% | 1 | 5 | 1 | 6 | 1 | 4 | 0 | 1 |
| RequestPathAttribute.Builder |  | 86% |  | 100% | 1 | 5 | 1 | 4 | 1 | 4 | 0 | 1 |
| ExchangeAttributeParser.new Comparator() {...} | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |