protected static function validateIndexDefinitionsFromSchema(array $indexes, array $columns)
 {
     $columnNames = RedBeanModelMemberToColumnUtil::resolveColumnNamesArrayFromColumnSchemaDefinition($columns);
     foreach ($indexes as $indexName => $index) {
         $indexNameLength = strlen($indexName);
         if (!is_string($indexName)) {
             return static::returnSchemaValidationResult(Zurmo::t('Core', 'Index Name: {{indexName}} is not a string', array('{{indexName}}' => $indexName)));
         }
         if ($indexNameLength > 64) {
             return static::returnSchemaValidationResult(Zurmo::t('Core', 'Index Name: {{indexName}} is {{length}} characters, {{over}} characters over limit(64).', array('{{indexName}}' => $indexName, '{{length}}' => $indexNameLength, '{{over}}' => $indexNameLength - 64)));
         }
         if (count($index) != 2) {
             return static::returnSchemaValidationResult(Zurmo::t('Core', 'Index: {{indexName}} does not have 2 clauses', array('{{indexName}}' => $indexName)));
         }
         if (!ArrayUtil::isValidArrayIndex('columns', $index)) {
             return static::returnSchemaValidationResult(Zurmo::t('Core', 'Index: {{indexName}} does not have indexed column names', array('{{indexName}}' => $indexName)));
         }
         if (!ArrayUtil::isValidArrayIndex('unique', $index)) {
             return static::returnSchemaValidationResult(Zurmo::t('Core', 'Index: {{indexName}} does not have index uniqueness clause defined', array('{{indexName}}' => $indexName)));
         }
         if (!is_array($index['columns'])) {
             return static::returnSchemaValidationResult(Zurmo::t('Core', 'Index: {{indexName}} column definition is not an array', array('{{indexName}}' => $indexName)));
         }
         foreach ($index['columns'] as $column) {
             list($column) = explode('(', $column);
             if (!in_array($column, $columnNames)) {
                 return static::returnSchemaValidationResult(Zurmo::t('Core', 'Index: {{indexName}} column: {{columnName}} does not exist' . ' in current schema definition provided. Columns: {{columns}}', array('{{indexName}}' => $indexName, '{{columnName}}' => $column, '{{columns}}' => print_r($columnNames, true))));
             }
         }
     }
     return static::returnSchemaValidationResult(null, true);
 }