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

    protected final AttributeDefinition getAttribute(List<AttributeDefinition> attribs, List<KeySchemaElement> keySchema, KeyType type) {
        KeySchemaElement key = null;
        for (KeySchemaElement k : keySchema) {
            if (k.getKeyType().equals(type.toString())) {
                key = k;
            }
        }
        if (key == null) {
            return null;
        }
        for (AttributeDefinition attr : attribs) {
            if (attr.getAttributeName().equals(key.getAttributeName())) {
                return attr;
            }
        }
        return null;
    }

    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);

}