StringDelegateCoder extends CustomCoder<T> { @Override public void verifyDeterministic() throws NonDeterministicException { delegateCoder.verifyDeterministic(); } protected  StringDelegateCoder(final Class<T> clazz, TypeDescriptor<T> typeDescriptor); static StringDelegateCoder<T> of(Class<T> clazz); static StringDelegateCoder<T> of(Class<T> clazz, TypeDescriptor<T> typeDescriptor); @Override String toString(); @Override boolean equals(@Nullable Object o); @Override int hashCode(); @Override void encode(T value, OutputStream outStream); @Override void encode(T value, OutputStream outStream, Context context); @Override T decode(InputStream inStream); @Override T decode(InputStream inStream, Context context); @Override void verifyDeterministic(); @Override Object structuralValue(T value); @Override TypeDescriptor<T> getEncodedTypeDescriptor();  }
@Test public void testDeterministic() throws Exception, NonDeterministicException { uriCoder.verifyDeterministic(); for (String uriString : TEST_URI_STRINGS) { CoderProperties.coderDeterministic(uriCoder, new URI(uriString), new URI(uriString)); } }