class AbstractDynamoDao extends AbstractDao<M,P,K,I> {

    public Update<P> updateOf(P partial) {
        ImmutableSet.Builder<String> attribs = ImmutableSet.builder();
        if (partial != null) {
            Item item = partialMapper.toItem(partial);
            for (Map.Entry<String, Object> attr : item.attributes()) {
                attribs.add(attr.getKey());
            }
        }
        return Update.of(partial, attribs.build());
    }

    public  AbstractDynamoDao(Class<M> modelClass, Class<P> partialClass, AmazonDynamoDB db, String tableName);
    public  AbstractDynamoDao(Class<M> modelClass, Class<P> partialClass, AmazonDynamoDB db, String tableName, ItemMapper<M> modelMapper, ItemMapper<P> partialMapper);

}