code: @Override
      public synchronized Map<String, Cell> columnDefinitions() {
          if (columnDefinitionMap != null) {
              return columnDefinitionMap;
          }
  
          TableMetadata tableMetadata = fetchTableMetadata();
  
          if (tableMetadata == null && !createTableOnWrite) {
              LOG.warn("Configuration not suitable for writing RDD: output table does not exists and configuration " +
                      "object has 'createTableOnWrite' = false");
  
              return null;
          } else if (tableMetadata == null) {
              return null;
          }
  
          initColumnDefinitionMap(tableMetadata);
  
          return columnDefinitionMap;
      }
docs: {@inheritDoc}