class MethodSignatureCompiler {

    public List<Neo4jTypes.AnyType> inputTypesFor( Method method ) throws ProcedureException
    {
        Type[] types = method.getGenericParameterTypes();
        List<Neo4jTypes.AnyType> neoTypes = new ArrayList<>( types.length );
        for ( Type type : types )
        {
            neoTypes.add( typeMappers.toNeo4jType( type ) );
        }

        return neoTypes;
    }

    public  MethodSignatureCompiler( TypeMappers typeMappers );

}