code: @Override
      public DesignDocument generateFrom(Object metaDataSource) {
          Class<?> metaDataClass = metaDataSource.getClass();
          DesignDocument dd = newDesignDocumentInstance();
          Map<String, DesignDocument.View> views = viewGenerator.generateViews(metaDataSource);
          dd.setViews(views);
  
          Map<String, String> lists = createListFunctions(metaDataClass);
          dd.setLists(lists);
  
          Map<String, String> shows = createShowFunctions(metaDataClass);
          dd.setShows(shows);
  
          Map<String, String> filters = createFilterFunctions(metaDataClass);
          dd.setFilters(filters);
  
          Map<String, String> updateHandlers = createUpdateHandlerFunctions(metaDataClass);
          dd.setUpdates(updateHandlers);
  
          return dd;
      }
docs: /*
  (non-Javadoc)
  
  @see org.ektorp.support.DesignDocumentFactory#generateFrom(java.lang.Object)