code: public static Key create(Key parent, String kind, Object key) {
  		if (key instanceof String) {
  			return (parent == null) ? KeyFactory.createKey(kind, (String) key) : KeyFactory.createKey(parent, kind, (String) key);
  		} else if (key instanceof Long) {
  			return (parent == null) ? KeyFactory.createKey(kind, (Long) key) : KeyFactory.createKey(parent, kind, (Long) key);
  		} else if (key instanceof Key) {
  			return (Key) key;
  		} else {
  			throw new IllegalArgumentException("'key' must be an instance of ["
  					+ String.class.getName() + "] or [" + Long.class.getName()
  					+ "] or [" + Key.class.getName() + "]");
  		}
  	}
docs: Creates {@code Key} with the specified parent, kind name and key.
  
  @param parent The {@code Key} of the parent.
  @param kind The kind name of the entity.
  @param key The key of the entity.
  @return {@code Key} created with the specified parent, kind name and key.