default ObservableStringValue defaultPackageNameProperty(Injector injector) {
        final TranslatorSupport<?> support = new TranslatorSupport<>(injector, this);
        
        if (this instanceof ProjectProperty) {
            final ProjectProperty project = (ProjectProperty) this;
            return createStringBinding(
                support::defaultPackageName, 
                project.nameProperty(), 
                project.companyNameProperty()
            );
        } else if (this instanceof HasAliasProperty) {
            final HasAliasProperty alias = (HasAliasProperty) this;
            return createStringBinding(support::defaultPackageName, alias.aliasProperty());
        } else {
            return createStringBinding(support::defaultPackageName, nameProperty());
        }
    }
Returns the default value for the package name

@param injector  the injector, in case an implementing class needs it
@return          the default package name
tool-parent/tool-config/src/main/java/com/speedment/tool/config/trait/HasPackageNameProperty.java