private void copyFields( final EObject objectWithReference, final Iterable<XtendMember> members, final Set<String> fieldNames) { boolean _not = (!(objectWithReference instanceof XtendClass)); if (_not) { return; } final XtendClass type = ((XtendClass) objectWithReference); final ArrayList<XtendField> newFields = CollectionLiterals.<XtendField>newArrayList(); Iterable<XtendField> _filter = Iterables.<XtendField>filter(members, XtendField.class); for (final XtendField field : _filter) { String _name = field.getName(); boolean _contains = fieldNames.contains(_name); boolean _not_1 = (!_contains); if (_not_1) { final XtendField copiedMember = this._expressionCopier.<XtendField>cloneWithProxies(field); SourceAdapter.adapt(copiedMember, field); newFields.add(((XtendField) copiedMember)); String _name_1 = field.getName(); fieldNames.add(_name_1); } } EList<XtendMember> _members = type.getMembers(); _members.addAll(newFields); }