code: @SuppressWarnings("unchecked")
  	public <X extends Stru> X convertLeaves(X source, SafeConvertor<Object, Object> convertor) {
  		return Check.notNull(source) instanceof Obj
  			? (X)convertLeavesInternal((Obj)source, convertor)
  			: (X)convertLeavesInternal((Arr)source, convertor);
  	}
docs: if convertor#canConvert returns false value is not added to result