public boolean detect() {
        String bootstrapMainClass = MainClassCondition.INSTANCE.getValue();
        boolean isExpectedMainClass = expectedMainClasses.contains(bootstrapMainClass);
        if (!isExpectedMainClass) {
            return false;
        }
        boolean hasRequiredSystemProperty = SystemPropertyCondition.INSTANCE.check(REQUIRED_SYSTEM_PROPERTY);
        if (!hasRequiredSystemProperty) {
            return false;
        }
        boolean hasRequiredClass = ClassResourceCondition.INSTANCE.check(REQUIRED_CLASS);
        if (!hasRequiredClass) {
            return false;
        }
        return true;
    }
@author Jongho Moon
@author HyunGil Jeong
agent-module/plugins/tomcat/src/main/java/com/navercorp/pinpoint/plugin/tomcat/TomcatDetector.java