Token implements Writable { public void decodeFromUrlString(String newValue) throws IOException { decodeWritable(this, newValue); } Token(T id, SecretManager<T> mgr);  Token(byte[] identifier, byte[] password, Text kind, Text service);  Token();  Token(Token<T> other); void setID(byte[] bytes); void setPassword(byte[] newPassword); Token<T> copyToken(); byte[] getIdentifier(); @SuppressWarnings("unchecked") T decodeIdentifier(); byte[] getPassword(); synchronized Text getKind(); @InterfaceAudience.Private synchronized void setKind(Text newKind); Text getService(); void setService(Text newService); boolean isPrivate(); boolean isPrivateCloneOf(Text thePublicService); Token<T> privateClone(Text newService); @Override void readFields(DataInput in); @Override void write(DataOutput out); String encodeToUrlString(); void decodeFromUrlString(String newValue); @SuppressWarnings("unchecked") @Override boolean equals(Object right); @Override int hashCode(); @Override String toString(); String buildCacheKey(); boolean isManaged(); long renew(Configuration conf
                    ); void cancel(Configuration conf
                     ); static final Logger LOG; }
@Test public void testDecodeWritableArgSanityCheck() throws Exception { Token<AbstractDelegationTokenIdentifier> token = new Token<>(); intercept(HadoopIllegalArgumentException.class, () -> token.decodeFromUrlString(null)); }