public Map<MethodDescriptor,int[]> findLinkedMethods(Set<MethodParameter> inputs){
  Map<MethodDescriptor,int[]> result=new HashMap<>();
  for (  MethodParameter found : findLinked(inputs)) {
    int[] params=result.get(found.getMethodDescriptor());
    if (params == null) {
      params=new int[]{found.getParameterNumber()};
      result.put(found.getMethodDescriptor(),params);
    }
 else {
      int[] newParams=new int[params.length + 1];
      System.arraycopy(params,0,newParams,0,params.length);
      newParams[params.length]=found.getParameterNumber();
      result.put(found.getMethodDescriptor(),newParams);
    }
  }
  return result;
}

public Map < MethodDescriptor , int [ ] > findLinkedMethods ( Set < MethodParameter > inputs ) { Map < MethodDescriptor , int [ ] > result = new HashMap < > ( ) ; for ( MethodParameter found : findLinked ( inputs ) ) { int [ ] params = result . get ( found . getMethodDescriptor ( ) ) ; if ( params == null ) { params = new int [ ] { found . getParameterNumber ( ) } ; result . put ( found . getMethodDescriptor ( ) , params ) ; } else { int [ ] newParams = new int [ params . length + 1 ] ; System . arraycopy ( params , 0 , newParams , 0 , params . length ) ; newParams [ params . length ] = found . getParameterNumber ( ) ; result . put ( found . getMethodDescriptor ( ) , newParams ) ; } } return result ; }
returns methods which call directly or indirectly methods from inputs passing the parameter unchanged
