private Subject createSubject(PrincipalAttribute identityAttribute,Date tokenEndTime,Confirmation confirmation,TokenDelegate lastDelegate){
  assert identityAttribute != null;
  assert tokenEndTime != null;
  assert confirmation != null;
  String[] tokenIdentityValue=identityAttribute.getValues();
  assert tokenIdentityValue.length == 1;
  String tokenSubject=tokenIdentityValue[0];
  String tokenSubjectFormat=identityAttribute.getName();
  Subject subject=new SubjectBuilder().buildObject();
  subject.setNameID(createNameId(tokenSubject,tokenSubjectFormat));
  subject.getSubjectConfirmations().add(createSubjectConfirmation(tokenEndTime,confirmation,lastDelegate));
  log.debug("Subject created : {}.",subject);
  return subject;
}

private Subject createSubject ( PrincipalAttribute identityAttribute , Date tokenEndTime , Confirmation confirmation , TokenDelegate lastDelegate ) { assert identityAttribute != null ; assert tokenEndTime != null ; assert confirmation != null ; String [ ] tokenIdentityValue = identityAttribute . getValues ( ) ; assert tokenIdentityValue . length == 1 ; String tokenSubject = tokenIdentityValue [ 0 ] ; String tokenSubjectFormat = identityAttribute . getName ( ) ; Subject subject = new SubjectBuilder ( ) . buildObject ( ) ; subject . setNameID ( createNameId ( tokenSubject , tokenSubjectFormat ) ) ; subject . getSubjectConfirmations ( ) . add ( createSubjectConfirmation ( tokenEndTime , confirmation , lastDelegate ) ) ; log . debug ( "Subject created : {}." , subject ) ; return subject ; }
create subject section of the token
