public boolean canReference(TwelfFile user, TwelfFile declaration) { boolean declared = false; for (TwelfIdentifierReference member : getMemberFiles()) { if (!declared && member.getCanonicalText().equals(declaration.getName())) { declared = true; } if (member.getCanonicalText().equals(user.getName())) { return declared; } } throw new IllegalArgumentException("Not a member file: " + user.getName()); }