public void addAnnotation(Field field, Class<? extends Annotation> annotation) {
        if(field == null) {
            throw new IllegalArgumentException("Field cannot be null");
        }
        FieldStoreItem item = store.get(FieldStoreItem.createKey(field));
        if(item != null) {
            item.setAnnotation(annotation);
        } else {
            item = new FieldStoreItem(field);
            item.setAnnotation(annotation);
            store.put(item.getKey(),item);
        }
    }