code: protected void validate(List<TableInfo> tableInfos)
      {
          try
          {
              HTableDescriptor hTableDescriptor = admin.getTableDescriptor(databaseName.getBytes());
              HColumnDescriptor[] columnFamilies = hTableDescriptor.getColumnFamilies();
              for (TableInfo tableInfo : tableInfos)
              {
                  if (tableInfo != null)
                  {
                      boolean isColumnFound = false;
                      for (HColumnDescriptor columnDescriptor : columnFamilies)
                      {
                          if (columnDescriptor.getNameAsString().equalsIgnoreCase(tableInfo.getTableName()))
                          {
                              isColumnFound = true;
                              break;
                          }
                      }
                      if (!isColumnFound)
                      {
                          throw new SchemaGenerationException("column " + tableInfo.getTableName()
                                  + " does not exist in table " + databaseName + "", "Hbase", databaseName,
                                  tableInfo.getTableName());
                      }
                  }
              }
          }
          catch (TableNotFoundException tnfex)
          {
              throw new SchemaGenerationException("table " + databaseName + " does not exist ", tnfex, "Hbase");
          }
          catch (IOException ioe)
          {
              logger.error("Either check for network connection or table isn't in enabled state, Caused by:", ioe);
              throw new SchemaGenerationException(ioe, "Hbase");
          }
      }
docs: validate method validate schema and table for the list of tableInfos.
  
  @param tableInfos
  list of TableInfos.