% rule: <class: methodSignature>, ref(0/1)
% if the obj returned from method is created in the method then ref is 1, if not is 0
% attention:
<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>, 0
<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>, 0
<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>, 0
<java.lang.StringBuilder: java.lang.String toString()>, 1
<java.lang.StringBuilder: int length()>, 0
<java.lang.StringBuilder: java.lang.StringBuilder deleteCharAt(int)>, 0
<java.lang.String: java.lang.String[] split(java.lang.String)>, 1
<java.lang.String: java.lang.String substring(int,int)>, 1
<java.lang.String: java.lang.String substring(int)>, 1
<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>, 1
<java.lang.Long: java.lang.Long valueOf(java.lang.String)>, 1
<java.lang.Long: java.lang.Long valueOf(long)>, 1
<java.lang.Long: java.lang.String toString()>, 1
<java.lang.Double: java.lang.Double valueOf(double)>, 1
<java.lang.Integer: java.lang.Integer valueOf(int)>, 1
<java.lang.Integer: java.lang.Integer valueOf(java.lang.String)>, 1
<java.lang.Object: java.lang.String toString()>, 1
<java.lang.Integer: java.lang.String toString()>, 1
<java.lang.Boolean: java.lang.Boolean valueOf(boolean)>, 0
<java.util.Array: java.lang.Object get(int)>, 0
<java.lang.String: java.lang.String append(java.lang.Object)>, 1
<java.util.Set: java.util.Iterator iterator()>, 1
<java.util.HashSet: java.util.Iterator iterator()>, 1
<java.util.List: java.lang.Object get(int)>, 0
<java.util.ArrayList: java.lang.Object get(int)>, 0
<java.util.Map$Entry: java.lang.Object getKey()>, 0
<java.util.Map$Entry: java.lang.Object getValue()>, 0
<java.util.Map$Entry: java.lang.Object setValue(java.lang.Object)>, 0
<java.util.Map: java.util.Set entrySet()>, 1
<java.util.Map: java.lang.Object get(java.lang.Object)>, 0
<java.util.Map: java.lang.Object get(java.lang.String)>, 0
<java.util.Iterator: java.lang.Object next()>, 1
<java.util.HashMap: java.lang.Object get(java.lang.Object)>, 0
<java.util.HashMap: java.lang.Object get(java.lang.String)>, 0
<java.util.HashMap: java.util.Set entrySet()>, 1
<java.util.Map: java.util.Set keySet()>, 1
<java.util.HashMap: java.util.Set keySet()>, 1
<java.util.Map: java.lang.Object clone()>, 1
<java.util.HashMap: java.lang.Object clone()>, 1
<java.util.regex.Pattern: java.lang.String quote(java.lang.String)>, 0
<java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>, 1
<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>, 1
<java.time.ZoneId: java.time.ZoneId systemDefault()>, 0
<java.time.ZoneId: java.lang.String getTimezone()>, 0
<java.time.LocalDateTime: java.time.LocalDateTime ofInstant(java.time.Instant,java.time.ZoneId)>, 1
<java.time.LocalDateTime: std::tm getTm()>, 1
<java.time.Instant: java.time.Instant ofEpochMilli(long)>, 1
<java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ofPattern(java.lang.String)>, 1
<java.time.format.DateTimeFormatter: java.lang.String format(java.time.temporal.TemporalAccessor)>, 1
<java.util.Arrays: java.util.List asList(java.lang.Object[])>, 1
<org.apache.flink.api.java.tuple.Tuple2: org.apache.flink.api.java.tuple.Tuple2 of(java.lang.Object,java.lang.Object)>, 1
<com.google.gson.Gson: java.lang.String toJson(com.google.gson.JsonElement)>, 1
<com.google.gson.Gson: java.lang.String toJson(java.util.Map)>, 1
<com.google.gson.Gson: java.lang.String toJson(java.lang.Object)>, 1
<com.google.gson.Gson: java.lang.Object fromJson(java.lang.String,java.lang.reflect.Type)>, 1
<com.google.gson.JsonObject: com.google.gson.JsonElement get(java.lang.String)>, 1
<com.google.gson.JsonObject: com.google.gson.JsonElement get(java.lang.String)>, 1
<com.google.gson.JsonObject: com.google.gson.JsonArray getAsJsonArray(java.lang.String)>, 1
<com.google.gson.JsonObject: com.google.gson.JsonObject getAsJsonObject(java.lang.String)>, 1
<com.google.gson.JsonArray: java.util.Iterator iterator()>, 1
<com.google.gson.JsonArray: java.lang.Object next()>, 1
<com.google.gson.JsonElement: com.google.gson.JsonObject getAsJsonObject()>, 0
<com.google.gson.JsonElement: com.google.gson.JsonArray getAsJsonArray()>, 0
<com.google.gson.JsonElement: java.lang.String getAsString()>, 1
<com.google.gson.JsonElement: double getAsDouble()>, 0
<com.google.gson.JsonElement: float getAsFloat()>, 0
<com.google.gson.JsonElement: int getAsInt()>, 0
<com.google.gson.JsonElement: long getAsLong()>, 0
<com.google.gson.JsonElement: short getAsShort()>, 0
<com.google.gson.JsonElement: boolean getAsBoolean()>, 0
<com.google.gson.JsonElement: java.lang.Object clone()>, 1
<com.google.gson.JsonElement: boolean isJsonNull()>, 0
<com.google.gson.JsonElement: java.lang.String toString()>, 0
<com.google.gson.JsonParser: com.google.gson.JsonElement parseString(java.lang.String)>, 1
<com.google.gson.JsonPrimitive: boolean getAsBoolean()>, 0
<com.google.gson.reflect.TypeToken: java.lang.reflect.Type getType()>, 0
<com.google.gson.GsonObject: com.google.gson.Gson create()>, 1
<com.google.gson.GsonBuilder: com.google.gson.Gson create()>, 1
<com.google.gson.JsonObject: boolean has(java.lang.String)>, 0
<com.google.gson.JsonElement: long getAsLong()>, 0
<java.lang.Class: java.lang.ClassLoader getClassLoader()>, 1
<java.util.List: java.util.Iterator iterator()>, 1
<java.util.ArrayList: java.util.Iterator iterator()>, 1
<org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>, 1
<java.util.Properties: java.util.Set entrySet()>, 1
<org.apache.flink.streaming.api.functions.source.SourceFunction$SourceContext: java.lang.Object getCheckpointLock()>, 0
<java.lang.System: long currentTimeMillis()>, 0
<java.lang.System: String getProperty(String key)>, 1
<java.util.Random: int nextInt(int)>, 0
<java.util.Random: double nextDouble()>, 0
<org.apache.flink.streaming.api.datastream.DataStreamSource: org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator disableChaining()>, 0
<org.apache.flink.streaming.api.datastream.DataStreamSource: org.apache.flink.streaming.api.datastream.DataStreamSource setParallelism(int)>, 0
<org.apache.flink.api.java.utils.ParameterTool: org.apache.flink.api.java.utils.ParameterTool fromPropertiesFile(java.io.InputStream)>, 0
<org.apache.flink.api.java.utils.ParameterTool: org.apache.flink.configuration.Configuration getConfiguration()>, 0
<java.util.regex.Matcher: boolean find()>, 0
<java.lang.Long: long longValue()>, 0
<org.apache.flink.util.Collector: void collect(java.lang.Object)>, 0
<java.util.Map: java.lang.Object remove(java.lang.Object)>, 0
<java.util.HashMap: java.lang.Object remove(java.lang.Object)>, 0
<java.util.Map: int size()>, 0
<java.util.HashMap: int size()>, 0
<java.util.Map: boolean containsKey(java.lang.Object)>, 0
<java.util.HashMap: boolean containsKey(java.lang.Object)>, 0
<java.util.Map: void putAll(java.util.Map)>, 0
<java.util.HashMap: void putAll(java.util.Map)>, 0
<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>, 0
<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>, 0
<java.lang.Boolean: boolean booleanValue()>, 0
<java.lang.String: int lastIndexOf(int)>, 0
<java.lang.String: boolean startsWith(java.lang.String)>, 0
<java.lang.String: int length()>, 0
<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>, 0
<java.lang.String: boolean endsWith(java.lang.String)>, 0
<java.lang.String: int lastIndexOf(java.lang.String)>, 0
<java.lang.String: boolean equals(java.lang.Object)>, 0
<java.lang.String: boolean contains(java.lang.CharSequence)>, 0
<java.lang.String: boolean endsWith(java.lang.String)>, 0
<java.lang.String: java.lang.String toString()>, 0
<org.slf4j.Logger: void error(java.lang.String)>, 0
<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>, 0
<org.slf4j.Logger: void info(java.lang.String)>, 0
<org.slf4j.Logger: void void info(java.lang.String,java.lang.Object)>, 0
<org.slf4j.Logger: void warn(java.lang.String)>, 0
<java.util.Properties: int size()>, 0
<java.util.Properties: void load(java.io.InputStream)>, 0
<java.util.Iterator: boolean hasNext()>, 0
<org.apache.flink.streaming.api.functions.source.SourceFunction$SourceContext: void collect(java.lang.Object)>, 0
<org.apache.flink.configuration.Configuration: int getInteger(java.lang.String,int)>, 0
<org.apache.flink.configuration.Configuration: java.lang.String getString(java.lang.String,java.lang.String)>, 0
<org.apache.flink.configuration.Configuration: void setInteger(java.lang.String,int)>, 0
<org.apache.flink.configuration.Configuration: void setString(java.lang.String,java.lang.String)>, 0
<org.apache.flink.configuration.Configuration: void setBoolean(java.lang.String,boolean)>, 0
<org.apache.flink.configuration.Configuration: boolean containsKey(java.lang.String)>, 0
<org.apache.flink.configuration.Configuration: boolean getBoolean(java.lang.String,boolean)>, 0
<java.util.Set: boolean addAll(java.util.Collection)>, 0
<java.util.HashSet: boolean addAll(java.util.Collection)>, 0
<java.util.Set: boolean contains(java.lang.Object)>, 0
<java.util.HashSet: boolean contains(java.lang.Object)>, 0
<java.util.Set: boolean add(java.lang.Object)>, 0
<java.util.HashSet: boolean add(java.lang.Object)>, 0
<java.util.Set: boolean remove(java.lang.Object)>, 0
<java.util.HashSet: boolean remove(java.lang.Object)>, 0
<java.util.Set: int size()>, 0
<java.util.HashSet: int size()>, 0
<java.util.Set: void clear()>, 0
<java.util.HashSet: void clear()>, 0
<org.apache.flink.streaming.api.datastream.DataStream: org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator flatMap(org.apache.flink.api.common.functions.FlatMapFunction)>, 0
<java.util.List: boolean add(java.lang.Object)>, 0
<java.util.ArrayList: boolean add(java.lang.Object)>, 0
<java.util.List: java.lang.Object remove(int)>, 0
<java.util.List: int size()>, 0
<java.util.ArrayList: int size()>, 0
<java.util.List: void clear()>, 0
<java.util.ArrayList: void clear()>, 0
<java.util.List: boolean contains(java.lang.Object)>, 0
<java.util.ArrayList: boolean contains(java.lang.Object)>, 0
<java.util.List: boolean isEmpty()>, 0
<java.util.ArrayList: boolean isEmpty()>, 0
<java.util.LinkedList: java.lang.Object getFirst()>, 0
<java.util.LinkedList: java.lang.Object getLast()>, 0
<java.util.LinkedList: void addFirst(java.lang.Object)>, 0
<java.util.LinkedList: void addLast(java.lang.Object)>, 0
<java.lang.Object: boolean equals(java.lang.Object)>, 0
<java.lang.Integer: boolean equals(java.lang.Object)>, 0
<java.lang.Long: boolean equals(java.lang.Object)>, 0
<java.lang.ClassLoader: java.io.InputStream getResourceAsStream(java.lang.String)>, 0
<org.apache.flink.streaming.api.environment.StreamExecutionEnvironment: org.apache.flink.streaming.api.datastream.DataStreamSource addSource(org.apache.flink.streaming.api.functions.source.SourceFunction)>, 0
<org.apache.flink.streaming.api.environment.StreamExecutionEnvironment: int getParallelism()>, 0
<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>, 0
<org.slf4j.Logger: void warn(java.lang.String)>, 0
<java.lang.Math: long max(long,long)>, 0
<: >, 0
<java.util.function.Consumer: void accept(java.lang.Object)>, 0
<java.util.concurrent.LinkedBlockingQueue: void put(java.lang.Object)>, 0
<java.util.concurrent.LinkedBlockingQueue: java.lang.Object take()>, 1
<java.util.concurrent.LinkedBlockingQueue: int size()>, 0
<java.util.concurrent.LinkedBlockingQueue: int drainTo(Collection,int)>, 0
<java.util.concurrent.LinkedBlockingQueue: void clear()>, 0
<java.util.concurrent.TimeUnit: void sleep(long)>, 0
<java.util.Queue: boolean add(java.lang.Object)>, 0
<java.util.Iterator: void remove()>, 0
<java.lang.Double: long doubleToLongBits(double)>, 0
<java.lang.Double: double longBitsToDouble(long)>, 0
<java.math.BigInteger: java.math.BigInteger valueOf(long)>, 1
<java.math.BigInteger: java.math.BigInteger valueOf(int[])>, 1
<java.math.BigInteger: byte[] toByteArray()>, 0
<: >, 0
<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>, 0
<java.lang.Integer: int intValue()>, 0
<java.util.List: void forEach(java.util.function.Consumer)>, 0
<java.lang.Thread: java.lang.Thread currentThread()>, 0
<java.lang.Thread: long getId()>, 0
<java.lang.Thread: void sleep(long)>, 0
<java.lang.Thread: String getName()>, 0
<java.lang.StringBuilder: java.lang.StringBuilder append(int)>, 0
<java.lang.StringBuilder: java.lang.StringBuilder append(long)>, 0
<java.lang.String: java.lang.String valueOf(long)>, 1
<java.lang.String: java.lang.String valueOf(int)>, 1
<java.lang.Long: int hashCode()>, 0
<java.lang.String: int hashCode()>, 0
<org.apache.flink.api.common.functions.RuntimeContext: org.apache.flink.api.common.state.MapState getMapState(org.apache.flink.api.common.state.MapStateDescriptor)>, 1
<org.apache.flink.api.common.functions.RuntimeContext: org.apache.flink.api.common.state.ValueState getState(org.apache.flink.api.common.state.ValueStateDescriptor)>, 1
<org.apache.flink.streaming.api.TimerService: long currentWatermark()>, 0
<org.apache.flink.streaming.api.TimerService: void registerEventTimeTimer(long)>, 0
<org.apache.flink.streaming.api.functions.KeyedProcessFunction$Context: org.apache.flink.streaming.api.TimerService timerService()>, 0
<org.apache.flink.streaming.api.functions.co.KeyedCoProcessFunction$OnTimerContext: org.apache.flink.streaming.api.TimerService timerService()>, 0
<org.apache.flink.streaming.api.functions.KeyedProcessFunction: void open(org.apache.flink.configuration.Configuration)>, 0
<org.apache.flink.streaming.api.functions.co.KeyedCoProcessFunction$Context: org.apache.flink.streaming.api.TimerService timerService()>, 0
<org.apache.flink.streaming.api.functions.co.KeyedCoProcessFunction: org.apache.flink.api.common.functions.RuntimeContext getRuntimeContext()>, 0
<org.apache.flink.streaming.api.functions.KeyedProcessFunction$OnTimerContext: java.lang.Object getCurrentKey()>, 0
<org.apache.flink.api.common.state.MapState: java.lang.Object get(java.lang.Object)>, 1
<org.apache.flink.api.common.state.MapState: void put(java.lang.Object,java.lang.Object)>, 0
<org.apache.flink.api.common.state.MapState: java.util.Iterator iterator()>, 1
<org.apache.flink.api.common.state.MapState: boolean contains(java.lang.Object)>, 0
<org.apache.flink.api.common.state.MapState: void clear()>, 0
<org.apache.flink.api.common.state.ValueState: java.lang.Object value()>, 1
<org.apache.flink.api.common.state.ValueState: void update(java.lang.Object)>, 0
<org.apache.flink.api.common.state.ValueState: void clear()>, 0
<org.apache.flink.api.common.typeinfo.TypeInformation: org.apache.flink.api.common.typeinfo.TypeInformation of(java.lang.Class)>, 1
<org.apache.flink.api.common.time.Time: long toMilliseconds()>, 0
<org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper: java.lang.String writeValueAsString(java.lang.Object)>, 1