Source:
<code>public void checkAttributesSemantics(PerunSession sess, Member member, Group group, List<Attribute> attributes, boolean workWithUserAttributes) throws InternalErrorException, WrongAttributeAssignmentException, WrongReferenceAttributeValueException, MemberGroupMismatchException { if (!workWithUserAttributes) { getAttributesManagerImpl().checkNamespace(sess, attributes, NS_MEMBER_GROUP_ATTR); <START> this.checkMemberIsFromTheSameVoLikeGroup(sess, member, group); for (Attribute attribute : attributes) { if (attribute.getValue() == null && !isTrulyRequiredAttribute(sess, member, group, attribute)) continue; getAttributesManagerImpl().checkAttributeSemantics(sess, member, group, attribute); } } else { this.checkMemberIsFromTheSameVoLikeGroup(sess, member, group); <END> User user = getPerunBl().getUsersManagerBl().getUserByMember(sess, member); for (Attribute attribute : attributes) { if (getAttributesManagerImpl().isFromNamespace(attribute, AttributesManager.NS_MEMBER_GROUP_ATTR)) { if (attribute.getValue() == null && !isTrulyRequiredAttribute(sess, member, group, attribute)) continue; getAttributesManagerImpl().checkAttributeSemantics(sess, member, group, attribute); } else if (getAttributesManagerImpl().isFromNamespace(attribute, AttributesManager.NS_USER_ATTR)) { if (attribute.getValue() == null && !isTrulyRequiredAttribute(sess, user, attribute)) continue; getAttributesManagerImpl().checkAttributeSemantics(sess, user, attribute); } else if (getAttributesManagerImpl().isFromNamespace(attribute, AttributesManager.NS_MEMBER_ATTR)) { if (attribute.getValue() == null && !isTrulyRequiredAttribute(sess, member, attribute)) continue; getAttributesManagerImpl().checkAttributeSemantics(sess, member, attribute); } else { throw new WrongAttributeAssignmentException(attribute); } } } }</code><technical_language>I move check if</technical_language>

Target:
public void checkAttributesSemantics(PerunSession sess, Member member, Group group, List<Attribute> attributes, boolean workWithUserAttributes) throws InternalErrorException, WrongAttributeAssignmentException, WrongReferenceAttributeValueException, MemberGroupMismatchException { this.checkMemberIsFromTheSameVoLikeGroup(sess, member, group); if (!workWithUserAttributes) { getAttributesManagerImpl().checkNamespace(sess, attributes, NS_MEMBER_GROUP_ATTR); for (Attribute attribute : attributes) { if (attribute.getValue() == null && !isTrulyRequiredAttribute(sess, member, group, attribute)) continue; getAttributesManagerImpl().checkAttributeSemantics(sess, member, group, attribute); } } else { User user = null; for (Attribute attribute : attributes) { if (getAttributesManagerImpl().isFromNamespace(attribute, AttributesManager.NS_MEMBER_GROUP_ATTR)) { if (attribute.getValue() == null && !isTrulyRequiredAttribute(sess, member, group, attribute)) continue; getAttributesManagerImpl().checkAttributeSemantics(sess, member, group, attribute); } else if (getAttributesManagerImpl().isFromNamespace(attribute, AttributesManager.NS_USER_ATTR)) { if (user == null) user = getPerunBl().getUsersManagerBl().getUserByMember(sess, member); if (attribute.getValue() == null && !isTrulyRequiredAttribute(sess, user, attribute)) continue; getAttributesManagerImpl().checkAttributeSemantics(sess, user, attribute); } else if (getAttributesManagerImpl().isFromNamespace(attribute, AttributesManager.NS_MEMBER_ATTR)) { if (attribute.getValue() == null && !isTrulyRequiredAttribute(sess, member, attribute)) continue; getAttributesManagerImpl().checkAttributeSemantics(sess, member, attribute); } else { throw new WrongAttributeAssignmentException(attribute); } } } }