private boolean processRemovedFields(final DiffState state, final ClassRepr.Diff diff, final ClassRepr it) {
      final Collection<FieldRepr> removed = diff.fields().removed();
      if (removed.isEmpty()) {
        return true;
      }
      assert myPresent != null;

      debug("Processing removed fields:");

      for (final FieldRepr f : removed) {
        debug("Field: ", f.name);

        if (!myProcessConstantsIncrementally && !f.isPrivate() && (f.access & INLINABLE_FIELD_MODIFIERS_MASK) == INLINABLE_FIELD_MODIFIERS_MASK && f.hasValue()) {
          debug("Field had value and was (non-private) final static => a switch to non-incremental mode requested");
          if (!incrementalDecision(it.name, f, myAffectedFiles, myFilesToCompile, myFilter)) {
            debug("End of Differentiate, returning false");
            return false;
          }
        }

        final IntSet propagated = myPresent.propagateFieldAccess(f.name, it.name);
        myPresent.affectFieldUsages(f, propagated, f.createUsage(myContext, it.name), state.myAffectedUsages, state.myDependants);
        if (!f.isPrivate() && f.isStatic()) {
          debug("The field was static --- affecting static field import usages");
          myPresent.affectStaticMemberImportUsages(f.name, it.name, propagated, state.myAffectedUsages, state.myDependants);
        }
      }
      debug("End of removed fields processing");

      return true;
    }
private boolean processRemovedFields(final DiffState state, final ClassRepr.Diff diff, final ClassRepr it)