class SimplePrincipal implements Principal {

    private SimplePrincipal(String domain, String name, String creds, long issueTime, Authority authority) {
        this.domain = domain;
        this.name = name;
        this.creds = creds;
        this.authority = authority;
        this.issueTime = issueTime;
    }

    private  SimplePrincipal(String domain, String name, String creds, long issueTime, Authority authority);
    private  SimplePrincipal(String domain, String creds, List<String> roles, Authority authority);

}