this.name = name;
this.conditionInfos = new ConditionInfo[conditionInfos.length];
for (int i = 0; i < conditionInfos.length; i++)
{
ConditionInfo from = conditionInfos[i];
String[] args = new String[from.getArgs().length];
System.arraycopy(from.getArgs(), 0, args, 0, args.length);
this.conditionInfos[i] = new ConditionInfo(from.getType(), args);
}
this.permissionInfos = new PermissionInfo[permissionInfos.length];
for (int i = 0; i < permissionInfos.length; i++)
{
PermissionInfo from = permissionInfos[i];
this.permissionInfos[i] = new PermissionInfo(from.getType(), from.getName(), from.getActions());
}
}