final Expression left = node.getLeft();
final Expression right = node.getRight();
if (left instanceof MemberReferenceExpression) {
if (right instanceof IdentifierExpression) {
final Variable variable = right.getUserData(Keys.VARIABLE);
if (variable == null || !variable.isParameter()) {
return null;
}
final MemberReferenceExpression memberReference = (MemberReferenceExpression) left;
final MemberReference member = memberReference.getUserData(Keys.MEMBER_REFERENCE);
if (member instanceof FieldReference &&
memberReference.getTarget() instanceof ThisReferenceExpression) {
final FieldDefinition resolvedField = ((FieldReference) member).resolve();
if (resolvedField != null &&
resolvedField.isSynthetic() &&
MetadataResolver.areEquivalent(resolvedField.getFieldType(), currentType.getDeclaringType())) {
final ParameterDefinition parameter = variable.getOriginalParameter();
_outerClassFields.add(resolvedField.getFullName());
_parametersToRemove.add(parameter);
final ConstructorDeclaration constructorDeclaration = (ConstructorDeclaration) firstOrDefault(