### Question:
DEREncoder implements ASN1Encoder { @Override public void encodeImplicit(int number) { encodeImplicit(CONTEXT_SPECIFIC_MASK, number); } DEREncoder();   DEREncoder(ByteStringBuilder target); @Override void startSequence(); @Override void startSet(); @Override void startSetOf(); @Override void startExplicit(int number); @Override void startExplicit(int clazz, int number); @Override void endSequence(); @Override void endExplicit(); @Override void endSet(); @Override void endSetOf(); @Override void encodeOctetString(String str); @Override void encodeOctetString(byte[] str); @Override void encodeIA5String(String str); @Override void encodeIA5String(byte[] str); @Override void encodePrintableString(final byte[] str); @Override void encodePrintableString(final String str); @Override void encodeUTF8String(final String str); @Override void encodeBMPString(final String str); @Override void encodeUniversalString(final String str); @Override void encodeBitString(byte[] str); @Override void encodeBitString(byte[] str, int numUnusedBits); @Override void encodeBitString(final EnumSet<?> enumSet); @Override void encodeBitString(final BitSet bitSet); @Override void encodeBitString(String binaryStr); @Override void encodeBitString(BigInteger integer); @Override void encodeGeneralizedTime(final ZonedDateTime time); @Override void encodeObjectIdentifier(String objectIdentifier); @Override void encodeNull(); @Override void encodeImplicit(int number); @Override void encodeImplicit(int clazz, int number); @Override void encodeBoolean(final boolean value); @Override void encodeInteger(BigInteger integer); @Override void writeEncoded(byte[] encoded); @Override void flush(); @Override byte[] getEncoded();  }### Answer:
@Test public void testEncodeImplicit() throws Exception { DEREncoder encoder = new DEREncoder(); encoder.encodeImplicit(2); encoder.encodeIA5String("server1.example.com"); byte[] expected = new byte[] {-126, 19, 115, 101, 114, 118, 101, 114, 49, 46, 101, 120, 97, 109, 112, 108, 101, 46, 99, 111, 109}; assertArrayEquals(expected, encoder.getEncoded()); }