VoidCoder extends AtomicCoder<Void> { @Override public Object structuralValue(Void value) { return STRUCTURAL_VOID_VALUE; } private  VoidCoder(); static VoidCoder of(); @Override void encode(Void value, OutputStream outStream); @Override @Nullable Void decode(InputStream inStream); @Override void verifyDeterministic(); @Override Object structuralValue(Void value); @Override boolean isRegisterByteSizeObserverCheap(Void value); @Override TypeDescriptor<Void> getEncodedTypeDescriptor();  }
@Test public void testStructuralValueSharesSameObject() { assertEquals(TEST_CODER.structuralValue(null), TEST_CODER.structuralValue(null)); assertSame(TEST_CODER.structuralValue(null), TEST_CODER.structuralValue(null)); }