def METHOD_NAME(self,FilePath, Arch, Target, Toolchain):
    Ext = FilePath.Type
    if Ext not in self._FILE_TYPE_:
        return None
    FileType = self._FILE_TYPE_[Ext]
    if FileType not in self._GENERATOR_:
        return None
    # get the parser ready for this file
    MetaFile = self._FILE_PARSER_[FileType](
                        FilePath,
                        FileType,
                        Arch,
                        MetaFileStorage(self.WorkspaceDb, FilePath, FileType)
                        )
    # always do post-process, in case of macros change
    MetaFile.DoPostProcess()
    # object the build is based on
    BuildObject = self._GENERATOR_[FileType](
                            FilePath,
                            MetaFile,
                            self,
                            Arch,
                            Target,
                            Toolchain
                            )
    return BuildObject