class ScriptDocumentationFactory implements TopLevelDocumentationFactory<ScriptDocumentation> {

    @Override
    public boolean canParse(final int currentIndex, final List<String> source) {
        int previousNonEmptyIndex = -1;
        for (int previousIndex = currentIndex - 1; previousIndex > -1; previousIndex--) {
            if (!StringUtils.strip(source.get(previousIndex)).isEmpty()) {
                previousNonEmptyIndex = previousIndex;
                break;
            }
        }
        return parser.canParse(source.get(currentIndex)) && previousNonEmptyIndex > -1 && StringUtils
                .startsWithIgnoreCase(StringUtils.strip(source.get(previousNonEmptyIndex)), "CREATE PROGRAM ");
    }

    public  ScriptDocumentationFactory();
    public  ScriptDocumentationFactory(final ScriptDocumentationParser parser);

}