@Override
    protected void pushInitialValue(CFGBuilder builder) {
      if (myFunction != null) {
        builder.invokeFunction(0, myFunction, Nullability.NOT_NULL);
      }
      else {
        DfType dfType = DfTypes.typedObject(myCall.getType(), Nullability.NOT_NULL);
        if (myImmutable) {
          dfType = dfType.meet(Mutability.UNMODIFIABLE.asDfType());
        } else {
          dfType = dfType.meet(DfTypes.LOCAL_OBJECT);
        }
        if (SpecialField.COLLECTION_SIZE.isMyQualifierType(dfType)) {
          dfType = dfType.meet(SpecialField.COLLECTION_SIZE.asDfType(DfTypes.intValue(0)));
        }
        builder.push(dfType);
      }
    }
@Override
    protected void pushInitialValue(CFGBuilder builder)