.classpath
.settings/

# Target dirs in all projects
**/target-ide/*
**/target/*
**/logs/*
**/tokens/*

# Added for Intellij IDEA IDE
**/debug-logs/*
**/.idea/*
**/*.iml
**/*.project
**/.springBeans

**/*versionsBackup
**/blackDuckHub*
**/*.jsonld
**/.checkstyle
**/.gitignore
**/.gitignore
**/.gitignore
**/.gitignore
**/.gitignore
**/.gitignore
**/.gitignore
**/.gitignore

