public Predicate.Role newRole(Predicate predicate, String semRole, Span<Term> span) {
	String newId = idManager.getNextId(AnnotationType.ROLE);
	Predicate.Role newRole = new Predicate.Role(newId, semRole, span);
	return newRole;
    }
public Predicate . Role newRole ( Predicate predicate , String semRole , Span < Term > span ) { String newId = idManager . getNextId ( AnnotationType . ROLE ) ; Predicate . Role newRole = new Predicate . Role ( newId , semRole , span ) ; return newRole ; }
Creates a new Role object. It assigns an appropriate ID to it. It uses the ID of the predicate to create a new ID for the role. It doesn't add the role to the predicate.
@param predicate the predicate which this role is part of
@param semRole semantic role
@param span span containing all the targets of the role
@return a new role.