function validate( node ) {
		var lineNumber;
		var matches;
		var match;
		var lines;
		var jsdoc;
		var line;
		var loc;
		var tag;
		var i;

		jsdoc = findJSDoc( source, node );
		if ( isObject( jsdoc ) ) {
			lines = jsdoc.value.split( '\n' );
			for ( i = 0; i < lines.length; i++ ) {
				line = lines[ i ];
				matches = line.match( RE_TAG_SPACES );
				if ( matches ) {
					lineNumber = node.loc.start.line - lines.length + i;
					loc = {
						'start': {
							'line': lineNumber,
							'column': 0
						},
						'end': {
							'line': lineNumber,
							'column': line.length
						}
					};
					tag = matches[ 2 ];
					match = matches[ 1 ];
					if ( match.length < 1 ) {
						report( '"@'+tag+'" tag should be padded by a space at the beginning', loc );
					} else if ( match.length > 1 ) {
						report( '"@'+tag+'" tag should be padded by only one space at the beginning', loc );
					}
					match = matches[ 3 ];
					if ( match.length < 1 ) {
						report( '"@'+tag+'" tag should be separated from opening curly brace by one space', loc );
					} else if ( match.length > 1 ) {
						report( '"@'+tag+'" tag should be separated from opening curly brace by only one space', loc );
					}
					match = matches[ 4 ];
					if ( contains( match, ' ' ) && tag !== 'see' ) {
						report( 'there should be no spaces inside of JSDoc type definitions', loc );
					}
					if ( !endsWith( line, '}' ) ) {
						match = matches[ 5 ];
						if ( match.length < 1 ) {
							report( 'there should be a space after the closing curly brace', loc );
						} else if ( match.length > 1 ) {
							report( 'there should be only one space after the closing curly brace', loc );
						}
					}
				}
				matches = line.match( RE_SIMPLE_TAGS );
				if ( matches ) {
					lineNumber = node.loc.start.line - lines.length + i;
					loc = {
						'start': {
							'line': lineNumber,
							'column': 0
						},
						'end': {
							'line': lineNumber,
							'column': line.length
						}
					};
					match = matches[ 1 ];
					tag = matches[ 2 ];
					if ( match.length < 1 ) {
						report( '"@'+tag+'" tag should be padded by a space at the beginning', loc );
					} else if ( match.length > 1 ) {
						report( '"@'+tag+'" tag should be padded by only one space at the beginning', loc );
					}
					match = matches[ 3 ];
					if ( match && match.length > 1 ) {
						report( '"@'+tag+'" tag should be padded by only one space at the end', loc );
					}
				}
			}
		}
	}
Checks whether JSDoc tags adhere to a padding style.

@private
@param {ASTNode} node - AST node