if (length == 0) return null; // no restriction specified
AccessRule[] accessRules = new AccessRule[length];
for (int i = 0; i < length; i++) {
char[] pattern = readName(in);
int problemId = in.readInt();
accessRules[i] = new ClasspathAccessRule(pattern, problemId);
}
JavaModelManager manager = JavaModelManager.getJavaModelManager();
String[] messageTemplates = new String[AccessRuleSet.MESSAGE_TEMPLATES_LENGTH];
for (int i = 0; i < AccessRuleSet.MESSAGE_TEMPLATES_LENGTH; i++) {
messageTemplates[i] = manager.intern(in.readUTF());