Here you can find the source of getAdditionalInstanceField(Object obj, String key)
public static Object getAdditionalInstanceField(Object obj, String key)
//package com.java2s; import java.util.HashMap; import java.util.WeakHashMap; public class Main { private static final WeakHashMap<Object, HashMap<String, Object>> additionalFields = new WeakHashMap<Object, HashMap<String, Object>>(); public static Object getAdditionalInstanceField(Object obj, String key) { if (obj == null) throw new NullPointerException("object must not be null"); if (key == null) throw new NullPointerException("key must not be null"); HashMap<String, Object> objectFields; synchronized (additionalFields) { objectFields = additionalFields.get(obj); if (objectFields == null) return null; }//from w w w .j a v a2 s . c o m synchronized (objectFields) { return objectFields.get(key); } } }