import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Date;
import java.util.HashMap;

/**
 * doc.
 *
 * @author shalk
 * @since 2021
 */
class MyCache {
    
    public Object get(String name, String key) {
        return new Object();
    }
    
}

public class MyCacheWrapper {
    
    private static final Logger LOG = LoggerFactory.getLogger(MyCacheWrapper.class);
    
    public static <T> T get(MyCache cache, String name, String key) {
        try {
            return (T) cache.get(name, key);
        } catch (ClassCastException e) {
            LOG.warn("cast fail", e);
            return null;
        }
    }
    
    public static void main(String[] args) {
        MyCache cache = new MyCache();
        final Object o = cache.get("aa", "bb");
        if (o instanceof HashMap) {
            HashMap<String, Date> b = (HashMap<String, Date>) o;
            final Date aa = b.get("date1");
            System.out.println("aa = " + aa);
        }
        
        HashMap<String, Date> b2 = MyCacheWrapper.get(cache, "aa", "bb");
        final Date aa = b2.get("date1");
        System.out.println("aa = " + aa);
    }
}