- [x] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
- [x] I have checked the [FAQ](https://github.com/apache/dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.

### Environment

* Dubbo version: 2.7.3
* Operating System version:  win7
* Java version: jdk8

### Steps to reproduce this issue

1.  define a service Interface like this.
```
public interface HelloBOMService {
  PersonResponseType get(PersonRequestType request) throws Exception;
}
```
2. getServiceDefinition and print Method Parameter
``` 
 ServiceDefinition serviceDefinition = ServiceDefinitionBuilder.build(HelloBOMService.class);
        System.out.println(serviceDefinition.getMethods().get(0).getParameters());
```
3. the methodDefition return  an empty list 

1. Extends TypeBuilder to construct Protobuf typeBuilder and add SPI file.
```
@SPI
public interface TypeBuilder {
```
2. Use serviceDefition.getTypes() to obtains all TypeDefinitions. It is nessary to know which TypeDefinitionBuilder build this TypeDefition.When TypeBuilder generate same ServiceDefinition
use different logic.

### Expected Result
We could get parameter type list from MethodDefition.
We should know which Builder build this TypeDefition.

}
    public void setType(String type) {
        this.type = type;
    }
    @Override
    public String toString() {
        return "TypeDefinition [id=" + id + ", type=" + type + ", properties=" + properties + ", $ref=" + $ref + "]";
    }
    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof TypeDefinition)) {
            return false;
        }
        TypeDefinition that = (TypeDefinition) o;
        return Objects.equals(getId(), that.getId()) &&
                Objects.equals(getType(), that.getType()) &&
                Objects.equals(getItems(), that.getItems()) &&
                Objects.equals(getEnums(), that.getEnums()) &&
                Objects.equals(get$ref(), that.get$ref()) &&
                Objects.equals(getProperties(), that.getProperties());
    }
    @Override
    public int hashCode() {
        return Objects.hash(getId(), getType(), getItems(), getEnums(), get$ref(), getProperties());
    }
}