protected void setParts(String wildcardString) {
        setParts(wildcardString, DEFAULT_CASE_SENSITIVE);
    }
Default no-arg constructor for subclasses only - end-user developers instantiating Permission instances must
provide a wildcard string at a minimum, since Permission instances are immutable once instantiated.
<p/>
Note that the WildcardPermission class is very robust and typically subclasses are not necessary unless you
wish to create type-safe Permission objects that would be used in your application, such as perhaps a
{@code UserPermission}, {@code SystemPermission}, {@code PrinterPermission}, etc.  If you want such type-safe
permission usage, consider subclassing the {@link DomainPermission DomainPermission} class for your needs.
core/src/main/java/org/apache/shiro/authz/permission/WildcardPermission.java